forked from extern/egroupware
Make sure actions get set when a leaf is refreshed
This commit is contained in:
parent
30b3f407d2
commit
89fe4531e2
@ -199,6 +199,7 @@ var et2_tree = et2_inputWidget.extend(
|
|||||||
url = '/json.php?menuaction='+url;
|
url = '/json.php?menuaction='+url;
|
||||||
}
|
}
|
||||||
if (url.charAt(0) == '/') url = egw.webserverUrl+url;
|
if (url.charAt(0) == '/') url = egw.webserverUrl+url;
|
||||||
|
this.autoloading_url = url;
|
||||||
widget.input.setXMLAutoLoading(url);
|
widget.input.setXMLAutoLoading(url);
|
||||||
widget.input.setDataMode('JSON');
|
widget.input.setDataMode('JSON');
|
||||||
}
|
}
|
||||||
@ -232,6 +233,7 @@ var et2_tree = et2_inputWidget.extend(
|
|||||||
}
|
}
|
||||||
// Item color - not working
|
// Item color - not working
|
||||||
if(options[key].data && typeof options[key].data.color !== 'undefined' && options[key].data.color)
|
if(options[key].data && typeof options[key].data.color !== 'undefined' && options[key].data.color)
|
||||||
|
this.autoloading_url = url;
|
||||||
{
|
{
|
||||||
options[key].style += "background-color ='"+options[key].data.color+"';";
|
options[key].style += "background-color ='"+options[key].data.color+"';";
|
||||||
}
|
}
|
||||||
@ -444,23 +446,26 @@ var et2_tree = et2_inputWidget.extend(
|
|||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* refreshItem, refreshes an item by id
|
* Updates a leaf of the tree by requesting new information from the server using the
|
||||||
|
* autoloading attribute.
|
||||||
|
*
|
||||||
* @param _id ID of the node
|
* @param _id ID of the node
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
refreshItem: function(_id, _selectParent) {
|
refreshItem: function(_id) {
|
||||||
if(this.input == null) return null;
|
if(this.input == null) return null;
|
||||||
|
this.input.deleteChildItems(_id);
|
||||||
this.input.setDataMode('JSON');
|
this.input.setDataMode('JSON');
|
||||||
|
/* Can't use this, it doesn't allow a callback
|
||||||
this.input.refreshItem(_id);
|
this.input.refreshItem(_id);
|
||||||
// Update action
|
*/
|
||||||
// since the action ID has to = this.id, getObjectById() won't work
|
var self = this;
|
||||||
var treeObj = egw_getAppObjectManager().getObjectById(this.id);
|
var actions = this.options.actions;
|
||||||
for(var i=0; i < treeObj.children.length; i++)
|
this.input.loadJSON(this.egw().link(this.autoloading_url, {id: _id}), function()
|
||||||
{
|
{
|
||||||
if(treeObj.children[i].iface && treeObj.children[i].iface.id == _id)
|
// Update actions by just re-setting them
|
||||||
{
|
self.set_actions(actions);
|
||||||
}
|
});
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user