diff options
Diffstat (limited to 'assets/javascripts/dashing.gridster.coffee')
-rw-r--r-- | assets/javascripts/dashing.gridster.coffee | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/assets/javascripts/dashing.gridster.coffee b/assets/javascripts/dashing.gridster.coffee new file mode 100644 index 0000000..e25c561 --- /dev/null +++ b/assets/javascripts/dashing.gridster.coffee @@ -0,0 +1,37 @@ +#= require_directory ./gridster + +# This file enables gridster integration (http://gridster.net/) +# Delete it if you'd rather handle the layout yourself. +# You'll miss out on a lot if you do, but we won't hold it against you. + +Dashing.gridsterLayout = (positions) -> + Dashing.customGridsterLayout = true + positions = positions.replace(/^"|"$/g, '') + positions = $.parseJSON(positions) + widgets = $("[data-row^=]") + for widget, index in widgets + $(widget).attr('data-row', positions[index].row) + $(widget).attr('data-col', positions[index].col) + +Dashing.getWidgetPositions = -> + $(".gridster ul:first").gridster().data('gridster').serialize() + +Dashing.showGridsterInstructions = -> + newWidgetPositions = Dashing.getWidgetPositions() + + unless JSON.stringify(newWidgetPositions) == JSON.stringify(Dashing.currentWidgetPositions) + Dashing.currentWidgetPositions = newWidgetPositions + $('#save-gridster').slideDown() + $('#gridster-code').text(" + <script type='text/javascript'>\n + $(function() {\n + \ \ Dashing.gridsterLayout('#{JSON.stringify(Dashing.currentWidgetPositions)}')\n + });\n + </script> + ") + +$ -> + $('#save-gridster').leanModal() + + $('#save-gridster').click -> + $('#save-gridster').slideUp() |