lib/assets/javascripts/dashing.gridster.coffee in dashing-rails-2.4.0 vs lib/assets/javascripts/dashing.gridster.coffee in dashing-rails-2.4.1

- old
+ new

@@ -4,13 +4,29 @@ Dashing.gridsterLayout = (positions) -> Dashing.customGridsterLayout = true positions = positions.replace(/^"|"$/g, '') positions = $.parseJSON(positions) - widgets = $("[data-row^=]") + widgets = $("[data-row]") + maxRow = 1 + maxCol = 1 + numColumns = Dashing.numColumns || 1 for widget, index in widgets - $(widget).attr('data-row', positions[index].row) - $(widget).attr('data-col', positions[index].col) + if positions? and index < positions.length + $(widget).attr('data-row', positions[index].row) + $(widget).attr('data-col', positions[index].col) + if positions[index].row > maxRow + maxRow = positions[index].row + maxCol = positions[index].col + 1 + else if positions[index].row == maxRow and positions[index].col >= maxCol + maxCol = positions[index].col + 1 + else + if maxCol > numColumns + maxRow += 1 + maxCol = 1 + $(widget).attr('data-row', maxRow) + $(widget).attr('data-col', maxCol) + maxCol += 1 Dashing.getWidgetPositions = -> $(".gridster ul:first").gridster().data('gridster').serialize() Dashing.showGridsterInstructions = ->