make node the first argument of getPadding/getMargin

This commit is contained in:
Christopher Chedeau
2014-04-16 12:51:55 -07:00
parent d607b8bb7a
commit d6abb5d51f

View File

@@ -24,7 +24,7 @@ function computeLayout(node) {
return str.charAt(0).toUpperCase() + str.slice(1); return str.charAt(0).toUpperCase() + str.slice(1);
} }
function getSpacing(type, location, node) { function getSpacing(node, type, location) {
var key = type + capitalizeFirst(location); var key = type + capitalizeFirst(location);
if (key in node.style) { if (key in node.style) {
return node.style[key]; return node.style[key];
@@ -42,12 +42,12 @@ function computeLayout(node) {
return 0; return 0;
} }
function getMargin(location, node) { function getMargin(node, location) {
return getSpacing('margin', location, node); return getSpacing(node, 'margin', location);
} }
function getPadding(location, node) { function getPadding(node, location) {
return getSpacing('padding', location, node); return getSpacing(node, 'padding', location);
} }
function getJustifyContent(node) { function getJustifyContent(node) {
@@ -80,8 +80,8 @@ function computeLayout(node) {
function getDimWithMargin(node, axis) { function getDimWithMargin(node, axis) {
return node.layout[dim[axis]] + return node.layout[dim[axis]] +
getMargin(leading[axis], node) + getMargin(node, leading[axis]) +
getMargin(trailing[axis], node); getMargin(node, trailing[axis]);
} }
var axis = { var axis = {
@@ -164,8 +164,8 @@ function computeLayout(node) {
} }
} }
var crossDim = getPadding(leading[crossAxis], node); var crossDim = getPadding(node, leading[crossAxis]);
var mainPos = getPadding(leading[mainAxis], node) + leadingMainDim; var mainPos = getPadding(node, leading[mainAxis]) + leadingMainDim;
children.forEach(function(child) { children.forEach(function(child) {
child.layout[pos[mainAxis]] += mainPos; child.layout[pos[mainAxis]] += mainPos;
mainPos += getDimWithMargin(child, mainAxis) + betweenMainDim; mainPos += getDimWithMargin(child, mainAxis) + betweenMainDim;
@@ -177,8 +177,8 @@ function computeLayout(node) {
} }
} }
}); });
mainPos += getPadding(trailing[mainAxis], node); mainPos += getPadding(node, trailing[mainAxis]);
crossDim += getPadding(trailing[crossAxis], node); crossDim += getPadding(node, trailing[crossAxis]);
if (node.layout[dim[mainAxis]] === undefined && !mainDimInStyle) { if (node.layout[dim[mainAxis]] === undefined && !mainDimInStyle) {
node.layout[dim[mainAxis]] = Math.max(mainPos, 0); node.layout[dim[mainAxis]] = Math.max(mainPos, 0);
@@ -191,9 +191,9 @@ function computeLayout(node) {
var alignItem = getAlignItem(node, child); var alignItem = getAlignItem(node, child);
var remainingCrossDim = node.layout[dim[crossAxis]] - var remainingCrossDim = node.layout[dim[crossAxis]] -
getDimWithMargin(child, crossAxis) - getDimWithMargin(child, crossAxis) -
getPadding(leading[crossAxis], node) - getPadding(node, leading[crossAxis]) -
getPadding(trailing[crossAxis], node); getPadding(node, trailing[crossAxis]);
var leadingCrossDim = getPadding(leading[crossAxis], node); var leadingCrossDim = getPadding(node, leading[crossAxis]);
if (alignItem === 'flex-start') { if (alignItem === 'flex-start') {
// Do nothing // Do nothing
} else if (alignItem === 'center') { } else if (alignItem === 'center') {
@@ -202,14 +202,14 @@ function computeLayout(node) {
leadingCrossDim += remainingCrossDim; leadingCrossDim += remainingCrossDim;
} else if (alignItem === 'stretch') { } else if (alignItem === 'stretch') {
child.layout[dim[crossAxis]] += node.layout[dim[crossAxis]] - child.layout[dim[crossAxis]] += node.layout[dim[crossAxis]] -
getMargin(leading[crossAxis], child) - getMargin(child, leading[crossAxis]) -
getMargin(trailing[crossAxis], child); getMargin(child, trailing[crossAxis]);
} }
child.layout[pos[crossAxis]] += leadingCrossDim; child.layout[pos[crossAxis]] += leadingCrossDim;
}); });
node.layout[leading[mainAxis]] += getMargin(leading[mainAxis], node); node.layout[leading[mainAxis]] += getMargin(node, leading[mainAxis]);
node.layout[leading[crossAxis]] += getMargin(leading[crossAxis], node); node.layout[leading[crossAxis]] += getMargin(node, leading[crossAxis]);
} }
fillNodes(node); fillNodes(node);