Changeset 3505 for contribs

Show
Ignore:
Timestamp:
05/10/10 01:08:41 (2 years ago)
Author:
alex
Message:

createLayerTree refactoring

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • contribs/mapfish-api/trunk/MapFishApi/js/mapfish_api.js

    r3366 r3505  
    425425    createLayerTree: function(config) { 
    426426        config = config || {}; 
     427        var options = { 
     428            id: config.id, 
     429            map: this.map, 
     430            showWmsLegend: config.showWmsLegend, 
     431            model: this.getLayerTreeModel(), 
     432            plugins: [ 
     433                mapfish.widgets.LayerTree.createContextualMenuPlugin(['opacitySlideDirect']) 
     434            ] 
     435        } 
    427436        if (config.div) { 
    428             this.tree = new mapfish.widgets.LayerTree({ 
    429                 id: config.id, 
    430                 map: this.map, 
     437            Ext.apply(options, { 
    431438                renderTo: config.div, 
    432                 height: 'auto', 
    433                 showWmsLegend: config.showWmsLegend, 
    434                 model: this.getLayerTreeModel(), 
    435                 plugins: [ 
    436                     mapfish.widgets.LayerTree.createContextualMenuPlugin(['opacitySlideDirect']) 
    437                 ] 
     439                height: 'auto' 
    438440            }); 
    439             if (config.layers) { 
    440                 var checkedNodes = this.tree.getChecked(); 
    441                 for (var i = 0, n = checkedNodes.length; i < n; i++) { 
    442                     this.tree.setNodeChecked(checkedNodes[i], false); 
    443                 } 
    444                 for (var i = 0, n = config.layers.length; i < n; i++) { 
    445                     var layer = config.layers[i]; 
    446                     var node = this.tree.nodeIdToNode[layer]; 
    447                     this.tree.setNodeChecked(node, true); 
    448                 } 
    449             } 
    450441        } else { 
    451442            // We use a LayerTree object rather than a lazy config because 
    452443            // we later need a real object in this.tree. 
    453             this.tree = new mapfish.widgets.LayerTree({ 
    454                 id: config.id, 
     444            Ext.apply(options, { 
    455445                title: config.title, 
    456                 map: this.map, 
    457                 showWmsLegend: config.showWmsLegend, 
    458                 model: this.getLayerTreeModel(), 
    459                 plugins: [ 
    460                     mapfish.widgets.LayerTree.createContextualMenuPlugin(['opacitySlideDirect']) 
    461                 ], 
    462446                listeners: { 
    463447                    checkchange: function(node, checked) { 
     
    470454            }); 
    471455        } 
     456         
     457        this.tree = new mapfish.widgets.LayerTree(options); 
     458         
     459        if (config.layers) { 
     460            var checkedNodes = this.tree.getChecked(); 
     461            for (var i = 0, n = checkedNodes.length; i < n; i++) { 
     462                this.tree.setNodeChecked(checkedNodes[i], false); 
     463            } 
     464            for (var i = 0, n = config.layers.length; i < n; i++) { 
     465                var layer = config.layers[i]; 
     466                var node = this.tree.nodeIdToNode[layer]; 
     467                this.tree.setNodeChecked(node, true); 
     468            } 
     469        } 
     470         
    472471        return this.tree; 
    473472    },