Re: x:tree > Look change in tree after update
Olivier, yes, i remove node that her child's child is selected. thanks you for your help! Adrien Oliver Rossmueller wrote: Adrien, I suppose you found a bug in the tree implementation. Just to confirm my assumption: in the case you the the exception below, did you remove the node from the model which was the selected node at that moment? I'll create an entry in the bugtracker so the issue will not be lost. Oliver Adrien FOURES wrote: I have this exception when i want to update my tree, Is an order exist when you use nodesWereInserted, nodesWereRemoved , or nodeStructureChanged or bad interaction is existing? example you dod not have to use nodeStructureChanged if you used nodesWereInserted before? I really do not understand this execption? Thanks a lot for your help ;-) 2005-02-02 15:02:25 ApplicationDispatcher[/DossierMedicalV1_5] "Servlet.service()" pour la servlet jsp a lancé une exception java.lang.IndexOutOfBoundsException: Index: 1, Size: 0 at java.util.ArrayList.RangeCheck(ArrayList.java:507) at java.util.ArrayList.get(ArrayList.java:324) at org.apache.myfaces.custom.tree.DefaultMutableTreeNode.getChildAt(DefaultMutableTreeNode.java:154) at org.apache.myfaces.custom.tree.model.DefaultTreeModel.getChild(DefaultTreeModel.java:81) at org.apache.myfaces.custom.tree.HtmlTreeNode.translatePath(HtmlTreeNode.java:537) at org.apache.myfaces.custom.tree.HtmlTree.selectionChanged(HtmlTree.java:586) at org.apache.myfaces.custom.tree.HtmlTreeNode.setSelected(HtmlTreeNode.java:412) at org.apache.myfaces.custom.tree.HtmlTreeNode.setExpanded(HtmlTreeNode.java:331) at org.apache.myfaces.custom.tree.HtmlTree.collapsePath(HtmlTree.java:536) at org.apache.myfaces.custom.tree.HtmlTree.treeStructureChanged(HtmlTree.java:817) at org.apache.myfaces.custom.tree.HtmlTree$Event.process(HtmlTree.java:1044) at org.apache.myfaces.custom.tree.HtmlTree.processModelEvents(HtmlTree.java:879) at org.apache.myfaces.custom.tree.HtmlTree.encodeBegin(HtmlTree.java:721) at javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:591) at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:543) at org.apache.jsp.page.private_.tree1_jsp._jspx_meth_x_tree_0(tree1_jsp.java:430) at org.apache.jsp.page.private_.tree1_jsp._jspx_meth_f_view_0(tree1_jsp.java:181) at org.apache.jsp.page.private_.tree1_jsp._jspService(tree1_jsp.java:138) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322) at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at dosmed.security.LoginFilter.doFilter(LoginFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.in
Re: x:tree > Look change in tree after update
Adrien, I suppose you found a bug in the tree implementation. Just to confirm my assumption: in the case you the the exception below, did you remove the node from the model which was the selected node at that moment? I'll create an entry in the bugtracker so the issue will not be lost. Oliver Adrien FOURES wrote: I have this exception when i want to update my tree, Is an order exist when you use nodesWereInserted, nodesWereRemoved , or nodeStructureChanged or bad interaction is existing? example you dod not have to use nodeStructureChanged if you used nodesWereInserted before? I really do not understand this execption? Thanks a lot for your help ;-) 2005-02-02 15:02:25 ApplicationDispatcher[/DossierMedicalV1_5] "Servlet.service()" pour la servlet jsp a lancé une exception java.lang.IndexOutOfBoundsException: Index: 1, Size: 0 at java.util.ArrayList.RangeCheck(ArrayList.java:507) at java.util.ArrayList.get(ArrayList.java:324) at org.apache.myfaces.custom.tree.DefaultMutableTreeNode.getChildAt(DefaultMutableTreeNode.java:154) at org.apache.myfaces.custom.tree.model.DefaultTreeModel.getChild(DefaultTreeModel.java:81) at org.apache.myfaces.custom.tree.HtmlTreeNode.translatePath(HtmlTreeNode.java:537) at org.apache.myfaces.custom.tree.HtmlTree.selectionChanged(HtmlTree.java:586) at org.apache.myfaces.custom.tree.HtmlTreeNode.setSelected(HtmlTreeNode.java:412) at org.apache.myfaces.custom.tree.HtmlTreeNode.setExpanded(HtmlTreeNode.java:331) at org.apache.myfaces.custom.tree.HtmlTree.collapsePath(HtmlTree.java:536) at org.apache.myfaces.custom.tree.HtmlTree.treeStructureChanged(HtmlTree.java:817) at org.apache.myfaces.custom.tree.HtmlTree$Event.process(HtmlTree.java:1044) at org.apache.myfaces.custom.tree.HtmlTree.processModelEvents(HtmlTree.java:879) at org.apache.myfaces.custom.tree.HtmlTree.encodeBegin(HtmlTree.java:721) at javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:591) at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:543) at org.apache.jsp.page.private_.tree1_jsp._jspx_meth_x_tree_0(tree1_jsp.java:430) at org.apache.jsp.page.private_.tree1_jsp._jspx_meth_f_view_0(tree1_jsp.java:181) at org.apache.jsp.page.private_.tree1_jsp._jspService(tree1_jsp.java:138) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322) at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at dosmed.security.LoginFilter.doFilter(LoginFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
Re: x:tree > Look change in tree after update
I have this exception when i want to update my tree, Is an order exist when you use nodesWereInserted, nodesWereRemoved , or nodeStructureChanged or bad interaction is existing? example you dod not have to use nodeStructureChanged if you used nodesWereInserted before? I really do not understand this execption? Thanks a lot for your help ;-) 2005-02-02 15:02:25 ApplicationDispatcher[/DossierMedicalV1_5] "Servlet.service()" pour la servlet jsp a lancé une exception java.lang.IndexOutOfBoundsException: Index: 1, Size: 0 at java.util.ArrayList.RangeCheck(ArrayList.java:507) at java.util.ArrayList.get(ArrayList.java:324) at org.apache.myfaces.custom.tree.DefaultMutableTreeNode.getChildAt(DefaultMutableTreeNode.java:154) at org.apache.myfaces.custom.tree.model.DefaultTreeModel.getChild(DefaultTreeModel.java:81) at org.apache.myfaces.custom.tree.HtmlTreeNode.translatePath(HtmlTreeNode.java:537) at org.apache.myfaces.custom.tree.HtmlTree.selectionChanged(HtmlTree.java:586) at org.apache.myfaces.custom.tree.HtmlTreeNode.setSelected(HtmlTreeNode.java:412) at org.apache.myfaces.custom.tree.HtmlTreeNode.setExpanded(HtmlTreeNode.java:331) at org.apache.myfaces.custom.tree.HtmlTree.collapsePath(HtmlTree.java:536) at org.apache.myfaces.custom.tree.HtmlTree.treeStructureChanged(HtmlTree.java:817) at org.apache.myfaces.custom.tree.HtmlTree$Event.process(HtmlTree.java:1044) at org.apache.myfaces.custom.tree.HtmlTree.processModelEvents(HtmlTree.java:879) at org.apache.myfaces.custom.tree.HtmlTree.encodeBegin(HtmlTree.java:721) at javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:591) at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:543) at org.apache.jsp.page.private_.tree1_jsp._jspx_meth_x_tree_0(tree1_jsp.java:430) at org.apache.jsp.page.private_.tree1_jsp._jspx_meth_f_view_0(tree1_jsp.java:181) at org.apache.jsp.page.private_.tree1_jsp._jspService(tree1_jsp.java:138) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322) at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at dosmed.security.LoginFilter.doFilter(LoginFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.cata
Re: x:tree > Look change in tree after update
> Well, again all the listener stuff was inspired by the swing tree > component. Consider there is one central tree model on server side and > there are lots of clients working on that tree. Each client holds it's > own state of expanded/collapsed nodes and stuff like that. In case the > tree is large and you have lots of nodes expanded in your client, you > would have to check for any node displayed if the node still exists in > the model, if the node has moved or if it's label has changed. It's > faster to collect and handle events on model changes instead. I think we should continue to keep the list of open and closed nodes stashed somewhere. In fact, even in the javascript version of the tree we have now we do this so that the users tree doesn't start off completely collapsed when they eventually click a "leaf" in the tree to load something (tree is redisplayed on LHS since its a navigation aide). Also, I will be planning on your server-side case where the new node information is added/removed from the model as you click. > You are right that there is no push of modifications to the client, but > for any active tree all model events are collected in a queue and on the > next tree-related faces request all the model events in the queue will > be handled before the current faces request will start. This way all the > trees stay synchronized with the model, not always on client side of > course (no direct change notification from server to the client), but on > server side. What if we saved the visible portion of the tree in the component tree? Something like this is done in now (well its an optional attribute preserveDataModel). Basically the action events could be processed against the same copy of the model as the user was looking at. Then just before RenderResponse a new copy of the data model is loaded (reflecting all of the appropriate open node info and disregarding any invalid node info). > Oliver sean
Re: x:tree > Look change in tree after update
Sean Schofield wrote: Adrien, I can't help you with this question (yet) because I am still researching how tree works now. I am going to be working on a significant changes to tree very soon though and this is something that I've been wondering about myself. (BTW, you can see recent thread about some of the improvements being considered - we'd love to get feedback from a current tree user.) Anyways, I don't really understand why these interface methods (such as nodesWereRemoved) are even needed. Why should the model notify the tree that it has changed? Its not like you can "push" the updated tree to the user. You still have to wait for the user to request the page again, so why not make the model ignorant of the tree and just re-render the tree according to whatever the model is at the time? Well, again all the listener stuff was inspired by the swing tree component. Consider there is one central tree model on server side and there are lots of clients working on that tree. Each client holds it's own state of expanded/collapsed nodes and stuff like that. In case the tree is large and you have lots of nodes expanded in your client, you would have to check for any node displayed if the node still exists in the model, if the node has moved or if it's label has changed. It's faster to collect and handle events on model changes instead. You are right that there is no push of modifications to the client, but for any active tree all model events are collected in a queue and on the next tree-related faces request all the model events in the queue will be handled before the current faces request will start. This way all the trees stay synchronized with the model, not always on client side of course (no direct change notification from server to the client), but on server side. Oliver I'm very interested in knowing why this functionality is needed because I'd like to simplify things by removing it in the new version. sean On Mon, 31 Jan 2005 18:16:00 +0100, Adrien FOURES <[EMAIL PROTECTED]> wrote: Hello I used the 1.0.8 x:tree version, and i wanted to know what i have to do, to look change in tree after inserted or removed a node in structure. Which function use and how use it? nodesWereRemoved (i have got an exception), nodesWereInserted (i have got an exception), nodeStructureChanged (i have got interface bug -> all my tree node are collapsed) . Thanks a lot for your reply Adrien -- Oliver Rossmueller Software Engineer and IT-Consultant Hamburg, Germany http://www.rossmueller.com
Re: x:tree > Look change in tree after update
Adrien FOURES wrote: Hello I used the 1.0.8 x:tree version, and i wanted to know what i have to do, to look change in tree after inserted or removed a node in structure. Which function use and how use it? nodesWereRemoved (i have got an exception), nodesWereInserted (i have got an exception), nodeStructureChanged (i have got interface bug -> all my tree node are collapsed) . Actually these are the methods of choice, so can you please file a bug using jira and send all information according the exceptions you get so we can fix it. Thank you. Oliver Thanks a lot for your reply Adrien -- Oliver Rossmueller Software Engineer and IT-Consultant Hamburg, Germany http://www.rossmueller.com
Re: x:tree > Look change in tree after update
I will be starting a new thread about the tree soon. Please feel free to comment. I definitely need the feedback (and any help you can give me.) sean On Tue, 01 Feb 2005 12:19:38 +0100, Adrien FOURES <[EMAIL PROTECTED]> wrote: > I am very interested in your work if you modify x:tree. I update tree > just for me, with adding tag in x:tree declaration, because in would to > catch action when user open a node, so i have to understand how it work, > and now it's working, so if you have question maeby i can help you? good > luck > > Adrien > > Sean Schofield wrote: > > >Adrien, > > > >I can't help you with this question (yet) because I am still > >researching how tree works now. I am going to be working on a > >significant changes to tree very soon though and this is something > >that I've been wondering about myself. (BTW, you can see recent > >thread about some of the improvements being considered - we'd love to > >get feedback from a current tree user.) > > > >Anyways, I don't really understand why these interface methods (such > >as nodesWereRemoved) are even needed. Why should the model notify the > >tree that it has changed? Its not like you can "push" the updated > >tree to the user. You still have to wait for the user to request the > >page again, so why not make the model ignorant of the tree and just > >re-render the tree according to whatever the model is at the time? > > > >I'm very interested in knowing why this functionality is needed > >because I'd like to simplify things by removing it in the new version. > > > > > >sean > > > > > >On Mon, 31 Jan 2005 18:16:00 +0100, Adrien FOURES <[EMAIL PROTECTED]> wrote: > > > > > >>Hello > >> > >>I used the 1.0.8 x:tree version, and i wanted to know what i have to do, > >>to look change in tree after inserted or removed a node in structure. > >> > >>Which function use and how use it? nodesWereRemoved (i have got an > >>exception), nodesWereInserted (i have got an exception), > >>nodeStructureChanged (i have got interface bug -> all my tree node are > >>collapsed) . > >> > >>Thanks a lot for your reply > >>Adrien > >> > >> > >> > > > > > > >
Re: x:tree > Look change in tree after update
I am very interested in your work if you modify x:tree. I update tree just for me, with adding tag in x:tree declaration, because in would to catch action when user open a node, so i have to understand how it work, and now it's working, so if you have question maeby i can help you? good luck Adrien Sean Schofield wrote: Adrien, I can't help you with this question (yet) because I am still researching how tree works now. I am going to be working on a significant changes to tree very soon though and this is something that I've been wondering about myself. (BTW, you can see recent thread about some of the improvements being considered - we'd love to get feedback from a current tree user.) Anyways, I don't really understand why these interface methods (such as nodesWereRemoved) are even needed. Why should the model notify the tree that it has changed? Its not like you can "push" the updated tree to the user. You still have to wait for the user to request the page again, so why not make the model ignorant of the tree and just re-render the tree according to whatever the model is at the time? I'm very interested in knowing why this functionality is needed because I'd like to simplify things by removing it in the new version. sean On Mon, 31 Jan 2005 18:16:00 +0100, Adrien FOURES <[EMAIL PROTECTED]> wrote: Hello I used the 1.0.8 x:tree version, and i wanted to know what i have to do, to look change in tree after inserted or removed a node in structure. Which function use and how use it? nodesWereRemoved (i have got an exception), nodesWereInserted (i have got an exception), nodeStructureChanged (i have got interface bug -> all my tree node are collapsed) . Thanks a lot for your reply Adrien
Re: x:tree > Look change in tree after update
Adrien, I can't help you with this question (yet) because I am still researching how tree works now. I am going to be working on a significant changes to tree very soon though and this is something that I've been wondering about myself. (BTW, you can see recent thread about some of the improvements being considered - we'd love to get feedback from a current tree user.) Anyways, I don't really understand why these interface methods (such as nodesWereRemoved) are even needed. Why should the model notify the tree that it has changed? Its not like you can "push" the updated tree to the user. You still have to wait for the user to request the page again, so why not make the model ignorant of the tree and just re-render the tree according to whatever the model is at the time? I'm very interested in knowing why this functionality is needed because I'd like to simplify things by removing it in the new version. sean On Mon, 31 Jan 2005 18:16:00 +0100, Adrien FOURES <[EMAIL PROTECTED]> wrote: > Hello > > I used the 1.0.8 x:tree version, and i wanted to know what i have to do, > to look change in tree after inserted or removed a node in structure. > > Which function use and how use it? nodesWereRemoved (i have got an > exception), nodesWereInserted (i have got an exception), > nodeStructureChanged (i have got interface bug -> all my tree node are > collapsed) . > > Thanks a lot for your reply > Adrien >
x:tree > Look change in tree after update
Hello I used the 1.0.8 x:tree version, and i wanted to know what i have to do, to look change in tree after inserted or removed a node in structure. Which function use and how use it? nodesWereRemoved (i have got an exception), nodesWereInserted (i have got an exception), nodeStructureChanged (i have got interface bug -> all my tree node are collapsed) . Thanks a lot for your reply Adrien