lib/assets/javascripts/dashing.gridster.coffee in dashing-rails-2.6.0 vs lib/assets/javascripts/dashing.gridster.coffee in dashing-rails-2.6.1

- old
+ new

@@ -4,14 +4,30 @@ 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 = -> @@ -22,10 +38,12 @@ $('#save-gridster').slideDown() $('#gridster-code').text(" <script type='text/javascript'>\n $(function() {\n \ \ Dashing.gridsterLayout('#{JSON.stringify(Dashing.currentWidgetPositions)}')\n - });\n</script>") + });\n + </script> + ") $ -> $('#save-gridster').leanModal() $('#save-gridster').click ->