Hi,

drag-drop is not implemented yet for groups created by LayerParamLoader. As 
with all missing features, patches are welcome.

The reason for the longer loading times is probably your server. It feels 
faster when tiles for single layers are loaded (more tiles, earlier visible 
results). It may help to set the initial layer visibility to false - this will 
save the loading of tiles with all layers before you turn off some and force a 
reload with mergeNewParams. So you could turn on the visibility the after 
calling mergeNewParams.

Andreas.


On Nov 19, 2010, at 16:40 , Andrew Stewart wrote:

> Thanks that works much better. Everything is working great for me except a 
> small issue... Before I was able to move the layers around and change the 
> order of visible layers ontop/below each other by dragging and using 
> enableDD:true. Although I can still drag the layers around it doesn't seem to 
> change the order of them.. Is this because they are grouped and so I've lost 
> that functionality? I guess I can live with that... One other thing it seems 
> to take about 3-5 seconds sometimes initially to turn on/off my layers.. Is 
> this also because it is grouped so it will be slower this way or can I speed 
> this up somehow? Thanks again for all the info.
> 
> 
> -----Original Message-----
> From: Andreas Hocevar [mailto:[email protected]] 
> Sent: November 19, 2010 1:17 AM
> To: Andrew Stewart
> Cc: [email protected]
> Subject: Re: [Users] Displaying single legend items when the layer is a group 
> layer comprised of several layers
> 
> On Nov 19, 2010, at 00:22 , Andrew Stewart wrote:
> 
>> Ok I did it in a different spot after my TreePanel was actually rendered and 
>> it works, was able to expand the node and uncheck a childnode then collapse 
>> it, although I'm not sure if this is the best way to do this.
> 
> The other way would be to call
> 
> layer_Base.mergeNewParams({LAYERS: "only,visible,layers"});
> 
> in your loader's load event:
> 
>> layerList_Base = new GeoExt.tree.LayerNode({
>>   "layer": layer_Base,
>>   "isLeaf": false,
>>   "loader": {
>>       "param": "LAYERS",
>         on: {
>             "load": function() {
>                 layer_Base.mergeNewParams({LAYERS: "only,visible,layers"});
>             }
>         }
>>   }
>> });
> 
> 
> 
> Regards,
> Andreas.
> 
>> 
>> 
>> -----Original Message-----
>> From: [email protected] [mailto:[email protected]] On Behalf 
>> Of Andrew Stewart
>> Sent: November 18, 2010 4:11 PM
>> To: [email protected]
>> Subject: Re: [Users] Displaying single legend items when the layer is a 
>> group layer comprised of several layers
>> 
>> I am having a slight issue with the LayerNode setup. Unfortunately I need to 
>> have some layers not displayed during load of the map, but using the below 
>> code all layers are automatically checked. When I try the code 
>> layerList_Base.expand();   so that I can uncheck one of the child nodes I 
>> get the following error - 
>> 
>> 
>> Message: 'insertAdjacentHTML' is null or not an object
>> Line: 7
>> Char: 5686
>> Code: 0
>> URI: ext-3.3.0/ext-all.js
>> 
>> Is there a better way for me to uncheck one of these layers or something I 
>> can do to correct this error? I just need to be able to make a few of these 
>> layers not displayed so they are unchecked during load.. Appreciate any help!
>> 
>> 
>> // Base Group Layers               
>> var layer_Base = new OpenLayers.Layer.WMS("Base", 
>> "http://localhost/WebService/Request.aspx";,
>>                   {
>>                       layers: ['Rural_Lot_Line', 'Rural_Block_Line', 
>> 'Section_Lines', 'Linear_Parks', 'School_Sites', 'Recreation_Sites', 
>> 'Neighbourhood_Parks', 'Major_Parks', 'Neighbourhood_Boundary', 
>> 'Neighbourhood_Area__clear_', 'Hydrology', 'City_Boundary', 
>> 'Street_Secondary_Segment', 'Street_Segment', 'Arterial', 'Highway', 
>> 'Rural_Highway', 'Bridge'],
>>                       VERSION: "1.1.1",
>>                       format: 'image/png',
>>                       transparent: true
>>                   },
>>                   { isBaseLayer: false,
>>                     singleTile: true,
>>                     buffer: 4
>>                   }
>>               );
>> 
>> 
>> layerList_Base = new GeoExt.tree.LayerNode({
>>       "layer": layer_Base,
>>       "isLeaf": false,
>>       "checked": false,
>>       "cls": "rootnode",
>>       "nodeType": "gx_layer",
>>       "loader": {
>>       "param": "LAYERS"
>>       }
>>       });
>> 
>> 
>> -----Original Message-----
>> From: [email protected] [mailto:[email protected]] On Behalf 
>> Of Andrew Stewart
>> Sent: November 18, 2010 2:39 PM
>> To: 'Andreas Hocevar'
>> Cc: [email protected]
>> Subject: Re: [Users] Displaying single legend items when the layer is a 
>> group layer comprised of several layers
>> 
>> Thank you very much! I was looking at this before and could not get it to 
>> work.. But your provided example code was exactly enough to get me going.. 
>> The problem I was doing before was when defining my layers I wasn't 
>> seperating them by 'layer name', 'layer name' .. I had them all individually 
>> inside only one 'layer name, layer name' but when I put quotes around each 
>> one and seperated them by comma it works perfectly, thanks again!
>> 
>> 
>> -----Original Message-----
>> From: Andreas Hocevar [mailto:[email protected]] 
>> Sent: November 18, 2010 2:26 PM
>> To: Andrew Stewart
>> Cc: [email protected]
>> Subject: Re: [Users] Displaying single legend items when the layer is a 
>> group layer comprised of several layers
>> 
>> Hi,
>> 
>> you may want to have a look at 
>> http://geoext.org/lib/GeoExt/widgets/tree/LayerParamLoader.html.
>> 
>> For your layer_Base layer, the tree node configuration could look like this:
>> 
>> layerList_Base = new GeoExt.tree.LayerNode({
>>   "layer": layer_Base,
>>   "isLeaf": false,
>>   "loader": {
>>       "param": "LAYERS"
>>   }
>> });
>> 
>> Regards,
>> Andreas.
>> 
>> On Nov 18, 2010, at 22:09 , Andrew Stewart wrote:
>> 
>>> Is this possible to display each individual item so I can still 
>>> check/uncheck them using my below code, or can I use a different GeoExt/Ext 
>>> container to accomplish this? I need to keep the layers grouped because of 
>>> performance but I still need to be able to display each individual layer so 
>>> that I can turn them on/off. Is this possible? Any example/help immensely 
>>> appreciated.
>>> 
>>> 
>>> My layer group is declared as the following -
>>> 
>>>    // Base Group Layers
>>>                 var layer_Base = new OpenLayers.Layer.WMS("Base Layers", 
>>> "http://localhost/WebService/Request.aspx";,
>>>                   {
>>>                       layers: 
>>> ['Bridge,Rural_Highway,Highway,Arterial,Street_Segment, 
>>> Street_Secondary_Segment, City_Boundary,                         
>>> Hydrology,Neighbourhood_Area__clear_,Neighbourhood_Boundary,Major_Parks,Neighbourhood_Parks,Recreation_Sites,School_Sites,Linear_Parks,Section_Lines,Rural_Block_Line,Rural_Lot_Line'],
>>>                       VERSION: "1.1.1",
>>>                       transparent: true
>>>                   },
>>>                   { isBaseLayer: false,
>>>                     singleTile: true,
>>>                     buffer: 4
>>>                   }
>>>               );
>>> 
>>> 
>>> Then I define my Treenode root and treepanel, and create a GeoExt 
>>> LayerContainer to load the layer into the root node. Can the layers above 
>>> be displayed as individual items with separate checkboxes somehow?
>>> 
>>> var layerRoot_Legend = new Ext.tree.TreeNode({
>>>       enableDD: true,
>>>       text: "All Legend Items",
>>>       loaded: true,
>>>       expanded: true
>>>       });
>>> 
>>>       var layerTree_Legend = new Ext.tree.TreePanel({
>>>       title: '',
>>>       root: layerRoot_Legend,
>>>       enableDD: true,
>>>       applyLoader: true,
>>>       rootVisible: false
>>>       });
>>> 
>>> 
>>> //Base layerList
>>>       layerList_Base = new GeoExt.tree.LayerContainer({
>>>       text: 'Base',
>>>       layerStore: mapPanel.layers,
>>>       leaf: false,
>>>       enableDD: true,
>>>       cls: 'rootnode',
>>>       singleClickExpand: true,
>>>       expanded: false,
>>>       checked: false,
>>>       listeners: {
>>>   'checkchange' :  function(node, checked)
>>>   {
>>>       // If a parent node is unchecked, uncheck all the children
>>>       if (node.getUI().isChecked()) {
>>>           node.expand();
>>>           node.eachChild(function(child){
>>>             child.ui.toggleCheck(true);
>>>           });
>>>       }
>>>       if (!node.getUI().isChecked())
>>>       {
>>>           node.expand();
>>>           node.eachChild(function(child) {
>>>               child.ui.toggleCheck(false);
>>>           });
>>>       }
>>>   }
>>> },
>>>       loader:
>>>       {
>>>           filter: function(record)
>>>           { 
>>>             if (record.data.title == 'Base Layers')
>>>                   return true; 
>>>           }
>>>           }
>>>       });
>>> 
>>> 
>>> layerRoot_Legend.appendChild(layerList_Base);
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> This e-mail is intended for the original recipient(s) only. If you have 
>>> received it in error, please advise the sender and delete this message.
>>> 
>>> _______________________________________________
>>> Users mailing list
>>> [email protected]
>>> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>> 
>> -- 
>> Andreas Hocevar
>> OpenGeo - http://opengeo.org/
>> Expert service straight from the developers.
>> 
>> 
>> 
>> [This message has been scanned for security content threats and viruses.]
>> 
>> [The City of Red Deer I.T. Services asks that you please consider the 
>> environment before printing this e-mail.]
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Users mailing list
>> [email protected]
>> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>> 
>> 
>> [This message has been scanned for security content threats and viruses.]
>> 
>> [The City of Red Deer I.T. Services asks that you please consider the 
>> environment before printing this e-mail.]
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Users mailing list
>> [email protected]
>> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>> 
>> 
>> [This message has been scanned for security content threats and viruses.]
>> 
>> [The City of Red Deer I.T. Services asks that you please consider the 
>> environment before printing this e-mail.]
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Users mailing list
>> [email protected]
>> http://www.geoext.org/cgi-bin/mailman/listinfo/users
> 
> -- 
> Andreas Hocevar
> OpenGeo - http://opengeo.org/
> Expert service straight from the developers.
> 
> 
> 
> [This message has been scanned for security content threats and viruses.]
> 
> [The City of Red Deer I.T. Services asks that you please consider the 
> environment before printing this e-mail.]
> 
> 
> 
> 
> _______________________________________________
> Users mailing list
> [email protected]
> http://www.geoext.org/cgi-bin/mailman/listinfo/users



-- 
Andreas Hocevar
OpenGeo - http://opengeo.org/
Expert service straight from the developers.

_______________________________________________
Users mailing list
[email protected]
http://www.geoext.org/cgi-bin/mailman/listinfo/users

Reply via email to