Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#11229 closed defect (fixed)

BorderContainer: dragging splitter does unnecessary marginBox() calls

Reported by: bill Owned by: bill
Priority: high Milestone: 1.5
Component: Dijit Version: 1.5.0b2
Keywords: Cc:
Blocked By: Blocking:

Description

As the comment says (that I added years ago) says, dragging a splitter in BorderContainer sets the marginBox size and then calls _layoutChildren(), which immediately re-queries the size:

// TODO: inefficient; we set the marginBox here and then immediately layoutFunc() needs to query it
dojo.marginBox(childNode, mb);
layoutFunc(region);

Besides being inefficient I've seen problems in the past where the marginBox query returns the wrong results.

And it's also interfering with some work I'm doing on #11145.

Change History (2)

comment:1 Changed 9 years ago by bill

Resolution: fixed
Status: newclosed

(In [22253]) Optimize splitter dragging. dijit.layout._Splitter no longer directly changes the size of the associated pane. It now calls _layoutChildren() with "left"/"right"/"top"/"bottom", and the new width/height to set that pane to. Fixes #11229 !strict.

comment:2 Changed 9 years ago by bill

(In [22364]) Fix ExpandoPane.resize() to work with two arguments, like the other layout widgets do. Fixes #11302, refs #11229 !strict.

Note: See TracTickets for help on using tickets.