From dc288636bc84c5afafc3be123d675175d8425dce Mon Sep 17 00:00:00 2001 From: Fawaz Date: Mon, 31 Dec 2012 09:18:10 +0000 Subject: [PATCH] Added : js/functions_dashboard.js --- upload/js/functions_dashboard.js | 58 ++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 upload/js/functions_dashboard.js diff --git a/upload/js/functions_dashboard.js b/upload/js/functions_dashboard.js new file mode 100644 index 00000000..f827c7da --- /dev/null +++ b/upload/js/functions_dashboard.js @@ -0,0 +1,58 @@ +function update_dashboard_widget_states () { + var parent = $('#dashboard-container'), parent_data = parent.data(), data = {}; + data['mode'] = 'update_dasboard_widget_states'; + data['place'] = parent_data.place; + var closed_widgets = parent.find('.dashboard-widget.closed').map( function(){ + return $( this ).data('id') + }).get(); + data['closed'] = closed_widgets.join(); + + amplify.request('dashboards', data,function(d){ + if(d.err) + { + displayError( d.err ); + } + }); +} + +function update_dashboard_widget_positions( event, ui ) { + var parent = $('#dashboard-container'), parent_data = parent.data(), data = {}; + data['mode'] = 'update_dashboard_widget_positions'; + data['place'] = parent_data.place; + data['importance'] = {}; + + parent.find('.dashboard-widgets').each( function( index, dash ){ + var ddata = $( dash ).data(); + var widgets = $( dash ).find('.dashboard-widget').map( function(){ + return $(this).data('id') + }).get(); + + data['importance'][ ddata.importance ] = widgets.join(); + }); + + amplify.request('dashboards', data,function(d){ + if(d.err) + { + displayError( d.err ); + } + }); +} + +$( document ).ready( function( e ){ + $('.dashboard-widget-toggler').on( 'click', function(){ + var dashboard_widget_toggler = $( this ), dashboard_widget = dashboard_widget_toggler.parents('.dashboard-widget'); + dashboard_widget.toggleClass( 'closed' ); + + update_dashboard_widget_states(); + } ); + + $('#dashboard-container div[data-importance]').sortable({ + handle : '.dashboard-widget-handler', + axis : 'y', + placeholder: "ui-state-highlight", + forcePlaceholderSize : true, + update : function( event, ui ) { + update_dashboard_widget_positions( event, ui ); + } + }); +}); \ No newline at end of file