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 = ->