js/components/matrix.js
function() {
        var item,
            span,
            size,
            l = this.items.length;

        this.matrix = [];

        for (var i = 0; i < l; i++) {
            item = this.items.eq(i);
            size = item.data('matrix-column-width');

            // How many columns does this item span?
            span = Math.max(Math.round(size / this.colWidth), 1);

            // Span cannot be larger than the total number of columns
            if (span > this.colCount) {
                span = this.colCount;
            }

            this.matrix.push({
                item: item,
                span: span
            });

            // Multiple columns
            if (span > 1) {
                for (var s = 1; s < span; s++) {
                    if (this.matrix) {
                        this.matrix.push({
                            item: item,
                            span: false // Indicates an empty space
                        });
                    }
                }
            }
        }
    }
function() {
        var item,
            span,
            size,
            l = this.items.length;

        this.matrix = [];

        for (var i = 0; i < l; i++) {
            item = this.items.eq(i);
            size = item.data('matrix-column-width');

            // How many columns does this item span?
            span = Math.max(Math.round(size / this.colWidth), 1);

            // Span cannot be larger than the total number of columns
            if (span > this.colCount) {
                span = this.colCount;
            }

            this.matrix.push({
                item: item,
                span: span
            });

            // Multiple columns
            if (span > 1) {
                for (var s = 1; s < span; s++) {
                    if (this.matrix) {
                        this.matrix.push({
                            item: item,
                            span: false // Indicates an empty space
                        });
                    }
                }
            }
        }
    }
function ( ) { var item , span , size , l = this . items . length ; this . matrix = [ ] ; for ( var i = 0 ; i < l ; i ++ ) { item = this . items . eq ( i ) ; size = item . data ( 'matrix-column-width' ) ; // How many columns does this item span? span = Math . max ( Math . round ( size / this . colWidth ) , 1 ) ; // Span cannot be larger than the total number of columns if ( span > this . colCount ) { span = this . colCount ; } this . matrix . push ( { item : item , span : span } ) ; // Multiple columns if ( span > 1 ) { for ( var s = 1 ; s < span ; s ++ ) { if ( this . matrix ) { this . matrix . push ( { item : item , span : false // Indicates an empty space } ) ; } } } } }
Organize the items into columns by looping over each item and calculating dimensions.
If an item spans multiple columns, account for it by filling with an empty space.

@private
Organize the items into columns by looping over each item and calculating dimensions . If an item spans multiple columns account for it by filling with an empty space .