Fix NaN value with just justifyContent: 'center'

This commit is contained in:
Christopher Chedeau
2014-04-14 10:57:16 -07:00
parent 73346dd1ef
commit 57dd9e3e28
2 changed files with 38 additions and 21 deletions

View File

@@ -117,30 +117,32 @@ function computeLayout(node) {
}
});
var remainingMainDim = node.layout[dim[mainAxis]] - mainContentDim;
var leadingMainDim = 0;
var betweenMainDim = 0;
if (flexibleChildrenCount) {
var flexibleMainDim = remainingMainDim / flexibleChildrenCount;
children.forEach(function(child) {
if (child.style.flex) {
child.layout[dim[mainAxis]] = flexibleMainDim;
layoutNode(child);
if (node.layout[dim[mainAxis]] !== undefined) {
var remainingMainDim = node.layout[dim[mainAxis]] - mainContentDim;
if (flexibleChildrenCount) {
var flexibleMainDim = remainingMainDim / flexibleChildrenCount;
children.forEach(function(child) {
if (child.style.flex) {
child.layout[dim[mainAxis]] = flexibleMainDim;
layoutNode(child);
}
});
} else {
var justifyContent = getJustifyContent(node);
if (justifyContent == 'flex-start') {
// Do nothing
} else if (justifyContent === 'flex-end') {
leadingMainDim = remainingMainDim;
} else if (justifyContent === 'center') {
leadingMainDim = remainingMainDim / 2;
} else if (justifyContent === 'space-between') {
betweenMainDim = remainingMainDim / (children.length - 1);
} else if (justifyContent === 'space-around') {
betweenMainDim = remainingMainDim / children.length;
leadingMainDim = betweenMainDim / 2;
}
});
} else {
var justifyContent = getJustifyContent(node);
if (justifyContent == 'flex-start') {
// Do nothing
} else if (justifyContent === 'flex-end') {
leadingMainDim = remainingMainDim;
} else if (justifyContent === 'center') {
leadingMainDim = remainingMainDim / 2;
} else if (justifyContent === 'space-between') {
betweenMainDim = remainingMainDim / (children.length - 1);
} else if (justifyContent === 'space-around') {
betweenMainDim = remainingMainDim / children.length;
leadingMainDim = betweenMainDim / 2;
}
}