|
- /*globals Outlayer */
-
- ( function() {
- 'use strict';
-
- var FitRows = window.FitRows = Outlayer.create('fitRows');
-
- var proto = FitRows.prototype;
-
- proto._resetLayout = function() {
- this.getSize();
- this.x = 0;
- this.y = 0;
- this.maxY = 0;
- this._getMeasurement( 'gutter', 'outerWidth' );
- };
-
- proto._getItemLayoutPosition = function( item ) {
- item.getSize();
-
- var itemWidth = item.size.outerWidth + this.gutter;
- // if this element cannot fit in the current row
- var containerWidth = this.size.innerWidth + this.gutter;
- if ( this.x !== 0 && itemWidth + this.x > containerWidth ) {
- this.x = 0;
- this.y = this.maxY;
- }
-
- var position = {
- x: this.x,
- y: this.y
- };
-
- this.maxY = Math.max( this.maxY, this.y + item.size.outerHeight );
- this.x += itemWidth;
-
- return position;
- };
-
- proto._getContainerSize = function() {
- return { height: this.maxY };
- };
-
- })();
|