isUndefined helper to make js and c closer

This commit is contained in:
Christopher Chedeau
2014-04-18 09:40:09 -07:00
parent dd79f7599b
commit 74644cfe41

View File

@@ -112,6 +112,10 @@ function computeLayout(node) {
column: 'height' column: 'height'
}; };
function isUndefined(value) {
return value === undefined;
}
var emptyArray = []; var emptyArray = [];
function layoutNode(node) { function layoutNode(node) {
@@ -120,19 +124,19 @@ function computeLayout(node) {
var children = node.children || emptyArray; var children = node.children || emptyArray;
var mainDimInStyle = dim[mainAxis] in node.style; var mainDimInStyle = dim[mainAxis] in node.style;
if (node.layout[dim[mainAxis]] === undefined && mainDimInStyle) { if (isUndefined(node.layout[dim[mainAxis]]) && mainDimInStyle) {
node.layout[dim[mainAxis]] = node.style[dim[mainAxis]]; node.layout[dim[mainAxis]] = node.style[dim[mainAxis]];
} }
var crossDimInStyle = dim[crossAxis] in node.style; var crossDimInStyle = dim[crossAxis] in node.style;
if (node.layout[dim[crossAxis]] === undefined && crossDimInStyle) { if (isUndefined(node.layout[dim[crossAxis]]) && crossDimInStyle) {
node.layout[dim[crossAxis]] = node.style[dim[crossAxis]]; node.layout[dim[crossAxis]] = node.style[dim[crossAxis]];
} }
var mainContentDim = 0; var mainContentDim = 0;
var flexibleChildrenCount = 0; var flexibleChildrenCount = 0;
children.forEach(function(child) { children.forEach(function(child) {
if (node.layout[dim[mainAxis]] === undefined || !getFlex(child)) { if (isUndefined(node.layout[dim[mainAxis]]) || !getFlex(child)) {
layoutNode(child); layoutNode(child);
mainContentDim += getDimWithMargin(child, mainAxis); mainContentDim += getDimWithMargin(child, mainAxis);
} else { } else {
@@ -142,7 +146,7 @@ function computeLayout(node) {
var leadingMainDim = 0; var leadingMainDim = 0;
var betweenMainDim = 0; var betweenMainDim = 0;
if (node.layout[dim[mainAxis]] !== undefined) { if (!isUndefined(node.layout[dim[mainAxis]])) {
var remainingMainDim = node.layout[dim[mainAxis]] - var remainingMainDim = node.layout[dim[mainAxis]] -
getPadding(node, leading[mainAxis]) - getPadding(node, leading[mainAxis]) -
getPadding(node, trailing[mainAxis]) - getPadding(node, trailing[mainAxis]) -
@@ -179,7 +183,7 @@ function computeLayout(node) {
child.layout[pos[mainAxis]] += mainPos; child.layout[pos[mainAxis]] += mainPos;
mainPos += getDimWithMargin(child, mainAxis) + betweenMainDim; mainPos += getDimWithMargin(child, mainAxis) + betweenMainDim;
if (child.layout[dim[crossAxis]] !== undefined) { if (!isUndefined(child.layout[dim[crossAxis]])) {
var childCrossDim = getDimWithMargin(child, crossAxis); var childCrossDim = getDimWithMargin(child, crossAxis);
if (childCrossDim > crossDim) { if (childCrossDim > crossDim) {
crossDim = childCrossDim; crossDim = childCrossDim;
@@ -190,10 +194,10 @@ function computeLayout(node) {
crossDim += getPadding(node, leading[crossAxis]) + crossDim += getPadding(node, leading[crossAxis]) +
getPadding(node, trailing[crossAxis]); getPadding(node, trailing[crossAxis]);
if (node.layout[dim[mainAxis]] === undefined && !mainDimInStyle) { if (isUndefined(node.layout[dim[mainAxis]]) && !mainDimInStyle) {
node.layout[dim[mainAxis]] = Math.max(mainPos, 0); node.layout[dim[mainAxis]] = Math.max(mainPos, 0);
} }
if (node.layout[dim[crossAxis]] === undefined) { if (isUndefined(node.layout[dim[crossAxis]])) {
node.layout[dim[crossAxis]] = Math.max(crossDim, 0); node.layout[dim[crossAxis]] = Math.max(crossDim, 0);
} }