Changeset 3547 for TI05-delivery


Ignore:
Timestamp:
28/02/08 17:07:29 (11 years ago)
Author:
cbyrom
Message:

Adjust js code to allow WMC documents to be displayed as tree view nodes

  • with their layers being displayed upon expansion + display the layers

when these children are selected.

Location:
TI05-delivery/ows_framework/trunk/ows_server/ows_server
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/public/js/capabilities.js

    r3538 r3547  
    111111    getAbstract: function() { 
    112112        var el = WMSC.traverseWMSDom(this.node, ['Abstract']); 
     113        // NB, WMC layers may not have abstracts 
     114        if (!el) 
     115                return ""; 
     116                 
    113117        if (el.textContent) { 
    114118            return el.textContent; 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/public/js/vis-app.js

    r3538 r3547  
    106106                { 
    107107                        // if this is a wmc layer, use the url in the layer 
    108                         endpoint = this.layerControl._selectedLayer.getEndpoint(); 
     108//                      endpoint = this.layerControl._selectedLayer.getEndpoint(); 
     109                        endpoint = this.layerControl._selectedLayer.data.wmcEndpoint; 
    109110                        if (endpoint == null) 
    110111                                endpoint = this.layerControl.wmsEndpoint; 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/public/js/wmscControl.js

    r3544 r3547  
    7777                { 
    7878                var cap = new WMSC.Capabilities(xhr.responseXML.documentElement); 
    79                 var tree = this._addLayerTree(cap.getRootLayer(),  
     79                var tree = this._addLayerTree( 
     80                        cap.getRootLayer(),  
    8081                        treeNode.data,  
    8182                        this.tree.getRoot(),  
     
    107108                { 
    108109                var wmc = new WMSC.WebMapContext(xhr.responseXML.documentElement); 
     110                var tree = this._addWMCTree(wmc,  
     111                        treeNode.data,  
     112                        this.tree.getRoot(),  
     113                        treeNode); 
     114/* 
    109115                        treeNode.data.label = wmc.getTitle(); 
    110116                        treeNode.label = wmc.getTitle(); 
    111117                        treeNode.data.abstract = wmc.getTitle(); 
     118*/                       
    112119                this.tree.draw(); 
    113120                }; 
     
    153160                return treeNode; 
    154161    }, 
     162     
     163    _addWMCTree: function(wmc, nodeData, parentNode, treeNode)  
     164    { 
     165                nodeData.label = wmc.getTitle(); 
     166                nodeData.layer = wmc.getTitle(); 
     167                nodeData.abstract = wmc.getTitle(); 
     168 
     169                var subLayers = wmc.getSubLayers(); 
     170 
     171                // When initialising a top-level node it will  
     172                // already exist (showing loading indicator). 
     173                // In this case replace data, otherwise create a new node. 
     174                if (treeNode == null)  
     175                { 
     176                var treeNode = new YAHOO.widget.MenuNode( 
     177                        nodeData, parentNode, false); 
     178                } 
     179                else  
     180                { 
     181                treeNode.data = nodeData; 
     182                treeNode.label = nodeData.label; 
     183                } 
     184                 
     185                for (var i=0; i<subLayers.length; i++)  
     186                { 
     187                this._addLayerTree( 
     188                        subLayers[i],  
     189                        {endpoint: nodeData.endpoint, 
     190                        wmcEndpoint: subLayers[i].getEndpoint()}, 
     191                            treeNode); 
     192                } 
     193                return treeNode; 
     194    }, 
    155195 
    156196 
     
    217257                        } 
    218258                 
     259/*               
    219260                new Ajax.Request(this.wmsEndpoint,  
    220261                { 
     
    223264                                onSuccess: this._updateLeafLayer.bindAsEventListener(this) 
    224265                }); 
     266*/ 
     267                 
     268                // set the selected layer 
     269                this._selectedLayer = node; 
     270                        this.wmsParams.layers = node.data.layer; 
     271                this.events.triggerEvent('changeWMS'); 
     272                 
    225273                } 
    226274                else  
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/viewItems.kid

    r3544 r3547  
    4646    control = new WMSC.Control('layerTree', 'layerLeaves', 'dims'); 
    4747    <for py:for="i in session['viewItems']" class="dataset" py:strip="True"> 
    48         control.addWebMapContext('viewItems', '${i.wmcURL}'); 
     48        <span py:if="i.wmcURL" py:strip="True"> 
     49                control.addWebMapContext('viewItems', '${i.wmcURL}'); 
     50            </span> 
    4951    </for> 
    5052 
Note: See TracChangeset for help on using the changeset viewer.