Add dashboard
This commit is contained in:
37
assets/javascripts/dashing.gridster.coffee
Normal file
37
assets/javascripts/dashing.gridster.coffee
Normal file
@@ -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()
|
||||
Reference in New Issue
Block a user