Start Building Professional
Web Apps Today


 
Categories Question details Back To List
Question  posted by Yvan on Oct 03, 2008 08:43
open dhtmlx forum
[DHTMLXTree] Conflict when dynamically opening 2 or more nodes in the same time

I use tree.openAllItemsDynamic(nodeId) which seems to conflict with other tree.openItem(nodeId) when being executed in the same time. Is it normal? How come I usually (not always) get something like this

Javascript ErrorThe next error ocured :
'that.G_node.id' is null or not an object in https://localhost:8443/treecontroller?Action=LoadTree&japee.actionContext=6 at line 294

whenever that happens?

Isn't there a way to kind of lock the tree when nodes are being dyn loaded?

I tried to capture the onclick event, but it doesn't look like it's possible to prevent an opening by unfolding nodes with the mouse.


An input?



Thanks
Answer posted by Support on Oct 03, 2008 09:12
>>Is it normal?

It is expected. Opening itself is not harmful, but any dyn. loading operation ( which can be triggered by opening ) will break openAllItemsDynamic chain and may cause mentioned error
You can lock whole tree on time of opening - can be done by 

tree.attachEvent("onXLE",function(){
    tree.lockTree(false);
});
...
tree.lockTree(true);
tree.openAllItemsDynamic(id);

( lockTree is a part of dhtmlxtree_li.js )

Answer posted on Oct 06, 2008 05:18
Isn't the tree lock op part of the pro version?
Answer posted by Support on Oct 06, 2008 06:34
Yes, it is part of pro version. 
( technically it just renders transparent DIV over the tree's area, so it can be easily reflected with custom HTML|javascript )

Answer posted on Oct 06, 2008 07:29
I was looking for a slightly subtler solution...

My tree has got to be locked for certain actions, but still respond for some non-critical requests; otherwise, what's the point of ajaxyfing it?
Answer posted by Support on Oct 06, 2008 07:51
The tree can load multiple branches at same time ( user can continue opening items, there is no need to wait while previous one loaded ) - the problem above related only to openAllItemsDynamic command.