BorderPanel: Post-Dojo-0.4: Removing a panel doesn't remove its widget from the 
BorderPanel widget, just its outer dom node.
----------------------------------------------------------------------------------------------------------------------------

                 Key: XAP-338
                 URL: https://issues.apache.org/jira/browse/XAP-338
             Project: XAP
          Issue Type: Bug
          Components: Layouts
            Reporter: Turyn, Michael
         Assigned To: James Margaris


Found in:  the borderPane widget example/test.

An exception was thrown by the dojo.html.layout() called by the border pane's 
onResized() method, which in turn is called by BorderPanel::removeChild().  
Immediate cause:  the removal removes the panel's outer dom node from its 
parent, but doesn't 
remove the panel widget (e.g. "this.north") from the BorderPanel.  This means 
that it gets added to the array of child panels sent to the layout() method; 
the error is triggered when the layout method assumes there's a valid dom node 
there.

Explicitly removing the panel:
                for( var position in this.allowedPositions ){
                        if( child == this[position]){
                                 this[position]  = null ;
                        }
                }
                // (for this.positions an object with members 
east,west,...,center)
...works (r. 520598), but  maybe it shouldn't be necessary---why doesn't the 
dojo method do it now.  Did it ever?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to