src/js/util/grid-utils.js
function make_mults(Outer, outerProps, data, gridScales, renderDataFunc) {
	var colDomain = gridScales.cols.domain();
	var numCols = colDomain[colDomain.length - 1] + 1;
	// only render number of grid blocks that are selected
	var numCharts = gridScales.cols.domain().length * gridScales.rows.domain().length;

	var grid_dimensions = {
		width: gridScales.cols.rangeBand(),
		height: gridScales.rows.rangeBand()
	};

	return map(data.slice(0, numCharts), function(d, i) {
		var pos = {
			col: i % numCols,
			row: (i === 0) ? 0 : Math.floor( i / numCols )
		};

		var gridProps = assign({}, outerProps, {
			key: i,
			translate: [ gridScales.cols(pos.col), gridScales.rows(pos.row) ],
			dimensions: grid_dimensions
		});

		return Outer(gridProps, renderDataFunc(d, i));
	});
}
function make_mults(Outer, outerProps, data, gridScales, renderDataFunc) {
	var colDomain = gridScales.cols.domain();
	var numCols = colDomain[colDomain.length - 1] + 1;
	// only render number of grid blocks that are selected
	var numCharts = gridScales.cols.domain().length * gridScales.rows.domain().length;

	var grid_dimensions = {
		width: gridScales.cols.rangeBand(),
		height: gridScales.rows.rangeBand()
	};

	return map(data.slice(0, numCharts), function(d, i) {
		var pos = {
			col: i % numCols,
			row: (i === 0) ? 0 : Math.floor( i / numCols )
		};

		var gridProps = assign({}, outerProps, {
			key: i,
			translate: [ gridScales.cols(pos.col), gridScales.rows(pos.row) ],
			dimensions: grid_dimensions
		});

		return Outer(gridProps, renderDataFunc(d, i));
	});
}
function make_mults ( Outer , outerProps , data , gridScales , renderDataFunc ) { var colDomain = gridScales . cols . domain ( ) ; var numCols = colDomain [ colDomain . length - 1 ] + 1 ; // only render number of grid blocks that are selected var numCharts = gridScales . cols . domain ( ) . length * gridScales . rows . domain ( ) . length ; var grid_dimensions = { width : gridScales . cols . rangeBand ( ) , height : gridScales . rows . rangeBand ( ) } ; return map ( data . slice ( 0 , numCharts ) , function ( d , i ) { var pos = { col : i % numCols , row : ( i === 0 ) ? 0 : Math . floor ( i / numCols ) } ; var gridProps = assign ( { } , outerProps , { key : i , translate : [ gridScales . cols ( pos . col ) , gridScales . rows ( pos . row ) ] , dimensions : grid_dimensions } ) ; return Outer ( gridProps , renderDataFunc ( d , i ) ) ; } ) ; }
make_mults

@param components { array? of base components that data will be passed to }
@param data { data for each chart }
@param gridOpts {grid option }
@param howToRender { func that tells how to evaluate the components?? }
@returns {[chart components]}
make_mults