[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