left and right, first pass

This commit is contained in:
Christopher Chedeau
2014-06-12 10:05:00 -07:00
parent 7c157cbb50
commit cc11a535ce
2 changed files with 18 additions and 1 deletions

View File

@@ -475,7 +475,7 @@ var computeLayout = (function() {
// In case the child is absolutely positionned and has a // In case the child is absolutely positionned and has a
// top/left/bottom/right being set, we override all the previously // top/left/bottom/right being set, we override all the previously
// computed positions to set it correctly. // computed positions to set it correctly.
if (leadingPos && !trailingPos) { if (leadingPos) {
child.layout[pos[crossAxis]] = child.layout[pos[crossAxis]] =
getPosition(child, leading[crossAxis]) + getPosition(child, leading[crossAxis]) +
getBorder(node, leading[crossAxis]) + getBorder(node, leading[crossAxis]) +
@@ -488,6 +488,12 @@ var computeLayout = (function() {
getMargin(child, trailing[crossAxis]) - getMargin(child, trailing[crossAxis]) -
getPosition(child, trailing[crossAxis]); getPosition(child, trailing[crossAxis]);
} }
if (leadingPos && trailingPos) {
child.layout[dim[crossAxis]] =
node.layout[dim[crossAxis]] -
getMargin(child, trailing[crossAxis]) -
getPosition(child, trailing[crossAxis]);
}
} else { } else {
var/*float*/ leadingCrossDim = getPaddingAndBorder(node, leading[crossAxis]); var/*float*/ leadingCrossDim = getPaddingAndBorder(node, leading[crossAxis]);

View File

@@ -928,6 +928,17 @@ describe('Layout', function() {
); );
}); });
it('should layout with position absolute left and right', function() {
testLayout(
{style: {width: 100}, children: [
{style: {right: 5, left: 5, position: 'absolute'}}
]},
{width: 0, height: 0, top: 0, left: 0, children: [
{width: 5, height: 0, top: 0, left: -20}
]}
);
});
xit('should layout text with alignItems: stretch', function() { xit('should layout text with alignItems: stretch', function() {
testLayout( testLayout(
{style: {width: 80, padding: 7, alignItems: 'stretch', measure: text('loooooooooong with space')}}, {style: {width: 80, padding: 7, alignItems: 'stretch', measure: text('loooooooooong with space')}},