[Users] How to get unrendered child nodes

Matt Priour mpriour at kestrelcomputer.com
Tue Dec 7 17:27:25 CET 2010


You should be examining the inserted / appended node's attribute object 
which will give you the info you need before the node is actually rendered.

ex:

layerContainerNode.on('append',function(tree,node){
        if(node.attributes.layer && 
!node.attributes.layer.visibility){this.ui.toggleCheck(false)}
   },layerContainerNode)

Matt Priour
Kestrel Computer Consutling
--------------------------------------------------
From: "Alexandre Dube" <adube at mapgears.com>
Sent: Tuesday, December 07, 2010 9:49 AM
To: "Eric Lemoine" <eric.lemoine at camptocamp.com>
Cc: "GeoEXT Users" <users at geoext.org>
Subject: Re: [Users] How to get unrendered child nodes

> Hi,
>
>   Thanks to both of you.  Your ideas helped a lot.
>
>   I'm still facing an other related problem.  When new OpenLayers.Layer
> objects are added, the according LayerNode is created as well
> (automatically by the LayerContainer).  Problem is : when I add a layer
> with "visibility": false, the parent node still keeps is node checked.
> I tried registering "append" and "insert" events on the layer node
> container when triggered, the new node isn't rendered yet.  I also tried
> (from there) to register a new node "render" and "afterrender" to manage
> the parent checkbox but it didn't work either (the event doesn't seem to
> trigger at all).
>
>   I'm beginning to lack ideas...  Any hints ?
>
> Thanks again,
>
> Alexandre
>
>
>
> On 10-12-07 07:26 AM, Eric Lemoine wrote:
>> On Mon, Dec 6, 2010 at 10:04 PM, Alexandre Dube<adube at mapgears.com> 
>> wrote:
>>
>>> Hi,
>>>
>>>    This is more a Ext question, but since I know this is a good resource
>>> place...
>>>
>>>    When a TreeNode hasn't been expanded yet, none if its child nodes are
>>> created so I don't have a way to know which one if 'checked' to check
>>> the parent accordingly (if all child nodes are checked).
>>>
>>>    How can I access the uncreated child nodes ?
>>>
>> Hi Alexandre
>>
>> For a project of mine I had to do things like this:
>>
>>      setSelectedNode: function() {
>>          this.root.cascade(function(n) {
>>              var expanded = n.isExpanded();
>>              if (!expanded) {
>>                  n.expand();
>>              }
>>              if (n.id == this.selectedNodeId) {
>>                  this.selectNode(n);
>>                  n.ensureVisible();
>>                  this.selectedNode = n;
>>                  return false;
>>              } else if (!expanded) {
>>                  n.collapse();
>>              }
>>          }, this);
>>      },
>>
>> I'm not sure this can help you...
>>
>> Good luck!
>>
>>
>>
>
>
> -- 
> Alexandre Dubé
> Mapgears
> www.mapgears.com
>
> _______________________________________________
> Users mailing list
> Users at geoext.org
> http://www.geoext.org/cgi-bin/mailman/listinfo/users
> 


More information about the Users mailing list