mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
User editable dashboards... implementation in progress
SVN:trunk[2013]
This commit is contained in:
@@ -12,7 +12,9 @@ $(function()
|
||||
layout_class: '',
|
||||
title: '',
|
||||
submit_to: 'index.php',
|
||||
submit_parameters: {operation: 'async_action'}
|
||||
submit_parameters: {},
|
||||
render_to: 'index.php',
|
||||
render_parameters: {}
|
||||
},
|
||||
|
||||
// the constructor
|
||||
@@ -24,13 +26,16 @@ $(function()
|
||||
.addClass('itop-dashboard');
|
||||
|
||||
this.ajax_div = $('<div></div>').appendTo(this.element);
|
||||
|
||||
|
||||
},
|
||||
|
||||
// called when created, and later when changing options
|
||||
_refresh: function()
|
||||
{
|
||||
var oParams = this._get_state(this.options.render_parameters);
|
||||
var me = this;
|
||||
$.post(this.options.render_to, oParams, function(data){
|
||||
me.element.html(data);
|
||||
});
|
||||
},
|
||||
// events bound via _bind are removed automatically
|
||||
// revert other modifications here
|
||||
@@ -56,24 +61,34 @@ $(function()
|
||||
{
|
||||
// in 1.9 would use _super
|
||||
$.Widget.prototype._setOption.call( this, key, value );
|
||||
if (key == 'layout')
|
||||
{
|
||||
_refresh();
|
||||
}
|
||||
},
|
||||
save: function()
|
||||
_get_state: function(oMergeInto)
|
||||
{
|
||||
var oParams = this.options.submit_parameters;
|
||||
oParams.dashlets = [];
|
||||
var oState = oMergeInto;
|
||||
oState.dashlets = [];
|
||||
this.element.find(':itop-dashlet').each(function() {
|
||||
var oDashlet = $(this).data('dashlet');
|
||||
if(oDashlet)
|
||||
{
|
||||
var sId = $(this).attr('id');
|
||||
var oDashletParams = oDashlet.get_params();
|
||||
oParams['dashlet_'+sId] = oDashletParams;
|
||||
oParams.dashlets.push({dashlet_id: sId, dashlet_class: oDashletParams['dashlet_class']} );
|
||||
var sId = oDashletParams.dashlet_id;
|
||||
oState[sId] = oDashletParams;
|
||||
oState.dashlets.push({dashlet_id: sId, dashlet_class: oDashletParams.dashlet_class} );
|
||||
}
|
||||
});
|
||||
oParams.dashboard_id = this.options.dashboard_id;
|
||||
oParams.layout_class = this.options.layout_class;
|
||||
oParams.title = this.options.title;
|
||||
oState.dashboard_id = this.options.dashboard_id;
|
||||
oState.layout_class = this.options.layout_class;
|
||||
oState.title = this.options.title;
|
||||
|
||||
return oState;
|
||||
},
|
||||
save: function()
|
||||
{
|
||||
var oParams = this._get_state(this.options.submit_parameters);
|
||||
var me = this;
|
||||
$.post(this.options.submit_to, oParams, function(data){
|
||||
me.ajax_div.html(data);
|
||||
|
||||
Reference in New Issue
Block a user