diff --git a/README.md b/README.md index 9964c3c..36361d5 100644 --- a/README.md +++ b/README.md @@ -167,6 +167,21 @@ percentage ``` +### splitbar + +Type: `Ojbect` + +A Javascript object to control the display or previous button and next button. + +`prevButton`: Boolean (Default: true). +`nextButton`: Boolean (Deafutl: true). + + +``` +
+ +``` + ## Events Events are broadcast on the scope where ui-layout is attached. This means they are available to any controller inside of a ui-layout container. diff --git a/src/ui-layout.js b/src/ui-layout.js index b0b8e82..f5cacbc 100644 --- a/src/ui-layout.js +++ b/src/ui-layout.js @@ -784,6 +784,9 @@ angular.module('ui.layout', []) pre: function(scope, element, attrs, ctrl) { scope.container = LayoutContainer.Container(); scope.container.element = element; + var splitbarOpts = angular.extend({}, scope.$eval(attrs.splitbar)); + scope.prevButton = splitbarOpts && splitbarOpts.prevButton !== undefined ? splitbarOpts.prevButton : true; + scope.nextButton = splitbarOpts && splitbarOpts.nextButton !== undefined ? splitbarOpts.nextButton : true; ctrl.addContainer(scope.container); @@ -796,6 +799,7 @@ angular.module('ui.layout', []) if(!element.hasClass('stretch')) element.addClass('stretch'); if(!element.hasClass('ui-layout-container')) element.addClass('ui-layout-container'); + scope.$watch('container.size', function(newValue) { element.css(ctrl.sizeProperties.sizeProperty, newValue + 'px'); }); @@ -808,7 +812,9 @@ angular.module('ui.layout', []) var parent = element.parent(); var children = parent.children(); var index = ctrl.indexOfElement(element); - var splitbar = angular.element('
'); + var splitbar = angular.element('
' + + '
'); + if(0 < index && !ctrl.hasSplitbarBefore(scope.container)) { angular.element(children[index-1]).after(splitbar); $compile(splitbar)(scope);