var totalMinSize = 0; var totalSize = 0; var children = this.getChildren(); dojo.forEach(children, function(child){ totalSize += child.sizeActual; totalMinSize += child.sizeMin; }); // only make adjustments if we have enough space for all the minimums if(totalMinSize <= totalSize){ var growth = 0; dojo.forEach(children, function(child){ if(child.sizeActual < child.sizeMin){ growth += child.sizeMin - child.sizeActual; child.sizeActual = child.sizeMin; } }); if(growth > 0){ var list = this.isDraggingLeft ? children.reverse() : children; dojo.forEach(list, function(child){ growth = this._growPane(growth, child); }, this); } }else{ dojo.forEach(children, function(child){ child.sizeActual = Math.round(totalSize * (child.sizeMin / totalMinSize)); }); }