Skip to content

Commit

Permalink
Rename anchor to anchorTo, contentView to remainingSpace and update u…
Browse files Browse the repository at this point in the history
…nit tests
  • Loading branch information
jtaby committed Jul 1, 2011
1 parent 7d3434f commit 1ac3335
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 36 deletions.
7 changes: 3 additions & 4 deletions lib/mixins/layout_support.js
Expand Up @@ -17,9 +17,8 @@ UI.LayoutSupport = SC.Mixin.create(

hasLayoutSupport: true,

anchor: null,
width: null,
height: null,
anchorTo: null,
size: null,

_layout: null,

Expand Down Expand Up @@ -59,7 +58,7 @@ UI.LayoutSupport = SC.Mixin.create(
render: function(buffer) {
var layoutManager = this._getLayoutManager();

var layout = this._layout = layoutManager.layoutForManagedView(this, get(this,'anchor'), {
var layout = this._layout = layoutManager.layoutForManagedView(this, get(this,'anchorTo'), {
size: get(this,'size')
});

Expand Down
30 changes: 15 additions & 15 deletions lib/system/layout_manager.js
Expand Up @@ -18,10 +18,10 @@ UI.LayoutManager = SC.Object.extend(
_direction: null,

_anchors: null,
_contentView: null,
_remainingSpace: null,

_propertyMetadata: {
contentView: {
remainingSpace: {
neighbors: ['top','right','bottom','left']
},
top: {
Expand Down Expand Up @@ -53,7 +53,7 @@ UI.LayoutManager = SC.Object.extend(
},

layoutForManagedView: function(view, anchor, options) {
if (anchor === 'contentView') {
if (anchor === 'remainingSpace') {
return this._layoutForContentView(view, anchor, options);
}

Expand All @@ -63,7 +63,7 @@ UI.LayoutManager = SC.Object.extend(
destroy: function() {
this._direction = null;
this._anchors = {};
this._contentView = null;
this._remainingSpace = null;
},

_layoutForAnchoredView: function(view, anchor, options) {
Expand Down Expand Up @@ -99,7 +99,7 @@ UI.LayoutManager = SC.Object.extend(
_layoutForContentView: function(view, anchor) {
var direction = this._direction, anchors = this._anchors;
var beforeAnchorName, afterAnchorName, beforeAnchor, afterAnchor;
var contentView = {
var remainingSpace = {
view: view,
before: null,
after: null
Expand All @@ -115,12 +115,12 @@ UI.LayoutManager = SC.Object.extend(
}

beforeAnchor = anchors[beforeAnchorName];
contentView.before = beforeAnchor? beforeAnchor.constraint : 0;
remainingSpace.before = beforeAnchor? beforeAnchor.constraint : 0;

afterAnchor = anchors[afterAnchorName];
contentView.after = afterAnchor? afterAnchor.constraint : 0;
remainingSpace.after = afterAnchor? afterAnchor.constraint : 0;

this._contentView = contentView;
this._remainingSpace = remainingSpace;

var layout = {};
var neighbors = this._propertyMetadata[anchor].neighbors;
Expand All @@ -130,21 +130,21 @@ UI.LayoutManager = SC.Object.extend(
layout[neighbor] = 0;
}

layout[beforeAnchorName] = contentView.before;
layout[afterAnchorName] = contentView.after;
layout[beforeAnchorName] = remainingSpace.before;
layout[afterAnchorName] = remainingSpace.after;

return layout;
},

_reflowContentView: function() {
var contentView = this._contentView;
var remainingSpace = this._remainingSpace;

if (!contentView) { return; }
else if (!contentView.view) { return; }
if (!remainingSpace) { return; }
else if (!remainingSpace.view) { return; }


var layout = this._layoutForContentView(contentView ,'contentView');
var element = get(contentView.view,'element');
var layout = this._layoutForContentView(remainingSpace ,'remainingSpace');
var element = get(remainingSpace.view,'element');

if (element) {
for (var prop in layout) {
Expand Down
34 changes: 17 additions & 17 deletions tests/system/layout_manager.js
Expand Up @@ -32,7 +32,7 @@ function generateView(className,anchor,size) {
SC.run(function(){
view = viewClass.create({
classNames: [className],
anchor: anchor,
anchorTo: anchor,
size: size,
});

Expand All @@ -45,7 +45,7 @@ function generateView(className,anchor,size) {

function generateNestedView(parentView,className,anchor,size) {
var nestedView = parentView.createChildView(SC.View.extend(UI.LayoutSupport), {
anchor: anchor,
anchorTo: anchor,
size: size,
classNames: [className]
});
Expand All @@ -69,7 +69,7 @@ module("Layout Manager",{
classNames: ['layout_manager_test']
});

containerView = generateView('layout_manager_test_container','contentView');
containerView = generateView('layout_manager_test_container','remainingSpace');
},

teardown: function() {
Expand All @@ -90,43 +90,43 @@ module("Layout Manager",{
test("no anchors", function() {
var viewHeight = 50;

var parentView = generateNestedView(containerView,'layout_manager_test','contentView');
var parentView = generateNestedView(containerView,'layout_manager_test','remainingSpace');
validateLayout($('.layout_manager_test'), {top:0,left:0,right:0,bottom:0},'vertical, container');

generateNestedView(parentView,'content_view','contentView');
generateNestedView(parentView,'content_view','remainingSpace');
validateLayout($('.content_view'), {top:0,left:0,right:0,bottom:0},'vertical, content');
});

test("vertical anchoring only top anchor", function() {
var viewHeight = 50;

var parentView = generateNestedView(containerView,'layout_manager_test','contentView');
var parentView = generateNestedView(containerView,'layout_manager_test','remainingSpace');
validateLayout($('.layout_manager_test'), {top:0,left:0,right:0,bottom:0},'vertical, container');

generateNestedView(parentView,'top_anchor','top',viewHeight);
validateLayout($('.top_anchor'), {top:0,left:0,right:0,height:viewHeight},'vertical, top');

generateNestedView(parentView,'content_view','contentView');
generateNestedView(parentView,'content_view','remainingSpace');
validateLayout($('.content_view'), {top:viewHeight,left:0,right:0,bottom:0},'vertical, content');
});

test("vertical anchoring only bottom anchor", function() {
var viewHeight = 50;

var parentView = generateNestedView(containerView,'layout_manager_test','contentView');
var parentView = generateNestedView(containerView,'layout_manager_test','remainingSpace');
validateLayout($('.layout_manager_test'), {top:0,left:0,right:0,bottom:0},'vertical, container');

generateNestedView(parentView,'bottom_anchor','bottom',viewHeight);
validateLayout($('.bottom_anchor'), {bottom:0,left:0,right:0,height:viewHeight},'vertical, bottom');

generateNestedView(parentView,'content_view','contentView');
generateNestedView(parentView,'content_view','remainingSpace');
validateLayout($('.content_view'), {top:0,left:0,right:0,bottom:viewHeight},'vertical, content');
});

test("vertical anchoring with content view", function() {
var viewHeight = 50;

var parentView = generateNestedView(containerView,'layout_manager_test','contentView');
var parentView = generateNestedView(containerView,'layout_manager_test','remainingSpace');
validateLayout($('.layout_manager_test'), {top:0,left:0,right:0,bottom:0},'vertical, container');

generateNestedView(parentView,'top_anchor','top',viewHeight);
Expand All @@ -135,40 +135,40 @@ test("vertical anchoring with content view", function() {
generateNestedView(parentView,'bottom_anchor','bottom',viewHeight);
validateLayout($('.bottom_anchor'), {bottom:0,left:0,right:0,height:viewHeight},'vertical, bottom');

generateNestedView(parentView,'content_view','contentView');
generateNestedView(parentView,'content_view','remainingSpace');
validateLayout($('.content_view'), {top:viewHeight,left:0,right:0,bottom:viewHeight},'vertical, content');
});

test("horizontal anchoring only left anchor", function() {
var sidebarWidth = 250;

var parentView = generateNestedView(containerView,'layout_manager_test','contentView');
var parentView = generateNestedView(containerView,'layout_manager_test','remainingSpace');
validateLayout($('.layout_manager_test'), { top:0,left:0,right:0,bottom:0},'horizontal, container');

generateNestedView(parentView,'left_anchor','left',sidebarWidth);
validateLayout($('.left_anchor'), { top:0,left:0,bottom:0,width:sidebarWidth},'horizontal, left');

generateNestedView(parentView,'content_view','contentView');
generateNestedView(parentView,'content_view','remainingSpace');
validateLayout($('.content_view'), { top:0,left:sidebarWidth,right:0,bottom:0},'horizontal, content');
});

test("horizontal anchoring only right anchor", function() {
var sidebarWidth = 250;

var parentView = generateNestedView(containerView,'layout_manager_test','contentView');
var parentView = generateNestedView(containerView,'layout_manager_test','remainingSpace');
validateLayout($('.layout_manager_test'), { top:0,left:0,right:0,bottom:0},'horizontal, container');

generateNestedView(parentView,'right_anchor','right',sidebarWidth);
validateLayout($('.right_anchor'), { top:0,right:0,bottom:0,width:sidebarWidth},'horizontal, right');

generateNestedView(parentView,'content_view','contentView');
generateNestedView(parentView,'content_view','remainingSpace');
validateLayout($('.content_view'), { top:0,left:0,right:sidebarWidth,bottom:0},'horizontal, content');
});

test("horizontal anchoring with content view", function() {
var sidebarWidth = 250;

var parentView = generateNestedView(containerView,'layout_manager_test','contentView');
var parentView = generateNestedView(containerView,'layout_manager_test','remainingSpace');
validateLayout($('.layout_manager_test'), { top:0,left:0,right:0,bottom:0},'horizontal, container');

generateNestedView(parentView,'left_anchor','left',sidebarWidth);
Expand All @@ -177,6 +177,6 @@ test("horizontal anchoring with content view", function() {
generateNestedView(parentView,'right_anchor','right',sidebarWidth);
validateLayout($('.right_anchor'), { top:0,right:0,bottom:0,width:sidebarWidth},'horizontal, right');

generateNestedView(parentView,'content_view','contentView');
generateNestedView(parentView,'content_view','remainingSpace');
validateLayout($('.content_view'), { top:0,left:sidebarWidth,right:sidebarWidth,bottom:0},'horizontal, content');
});

0 comments on commit 1ac3335

Please sign in to comment.