Changeset 2882


Ignore:
Timestamp:
13/09/07 16:10:28 (12 years ago)
Author:
spascoe
Message:

Changed the way ndgPage.kid:pagehead works to make it easier to include
<head> children on each page.

Visualise is getting closer :-)

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

Legend:

Unmodified
Added
Removed
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/controllers/retrieve.py

    r2871 r2882  
    146146                c.doc='' 
    147147                code=400 
    148                 resp=Reponse(render('error'),code=code) 
     148                resp=Response(render('error'),code=code) 
    149149        return resp 
    150150     
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/public/js/VisMapBox.js

    r2865 r2882  
    214214}; 
    215215 
     216/** Class to control the VisApp OpenLayers widget. 
     217    @param visApp: The VisApp object. 
     218    @param granuleDescription: An object describing the available granules.  It should have the form: 
     219        { <granuleId>: {<featureId>: {'name':..., 'ftype':..., 'domain': {'time': [...]}}}} 
     220 
     221*/ 
     222VisControl = function(visApp, granuleDescription, granuleFormId, variableFormId, constraintFormId) { 
     223    this.visApp = visApp; 
     224    this.granuleDescription = granuleDescription; 
     225    this.granuleForm = $(granuleFormId); 
     226    this.variableForm = $(variableFormId); 
     227    this.constraintForm = $(constraintFormId); 
     228}; 
     229VisControl.prototype = { 
     230    updateVisApp: function() { 
     231        var granuleId = this.granuleForm.dataset.value; 
     232        var featureId = null; 
     233        for (var i=0; i<this.variableForm.length; i++) { 
     234            if (this.variableForm[i].checked) { 
     235                featureId = this.variableForm[i].value; 
     236            } 
     237        } 
     238        //!TODO add time dimension 
     239        var domain = {'TIME': this.granuleDescription[granuleId][featureId]['domain']['time'][0]}; 
     240         
     241         
     242        this.visApp.updateVisLayer(this.granuleDescription[granuleId]['wmsURI'], featureId, domain['TIME']); 
     243    } 
     244}; 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/advanced.kid

    r2800 r2882  
    11<html py:extends="'ndgPage.kid'" xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"> 
    22    <!-- provides the main introduction and "advanced" search page --> 
    3     <head py:replace="pagehead(1)"/> 
     3    <head> 
     4      <replace py:replace="pagehead()"/> 
     5 
     6      <script src="/js/OpenLayers.js"/> 
     7      <script src="/js/openlayers-x.js"/> 
     8      <script src="/js/OLMapBox.js"/> 
     9      <script type="text/javascript"> 
     10        var app = null; 
     11        function initOLMapBox() { 
     12          app = new OLMapBoxApp('map','discoForm', 440, 10); 
     13        } 
     14      </script> 
     15 
     16    </head> 
    417    <body onload="initOLMapBox()"> 
    518    <div id="entirepage"> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/content.kid

    r2802 r2882  
    11<html py:extends="'ndgPage.kid'" xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"> 
    2  
    3     <head py:replace="pagehead(0)"/> 
     2    <head> 
     3      <replace py:replace="pagehead()"/> 
     4    </head> 
    45    <body> 
    56    <div id="entirepage"> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/csml.kid

    r2688 r2882  
    11<html py:extends="'ndgPage.kid'" xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"> 
    2  
    3     <head py:replace="pagehead(0)"/> 
     2    <head> 
     3    <replace py:replace="pagehead()"/> 
     4    </head> 
    45    <body> 
    56    <div id="entirepage"> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/dif.kid

    r2800 r2882  
    11<html py:extends="ndgPage.kid,meta.kid" xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"> 
    22 
    3     <head py:replace="pagehead(0)"/> 
     3    <head> 
     4    <replace py:replace="pagehead()"/> 
     5    </head> 
    46    <body> 
    57    <div id="entirepage"> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/error.kid

    r2713 r2882  
    11<html py:extends="'ndgPage.kid'" xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"> 
    2  
    3     <head py:replace="pagehead(0)"/> 
     2    <head> 
     3    <replace py:replace="pagehead()"/> 
     4    </head> 
    45    <body> 
    56    <div id="entirepage"> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/login.kid

    r2881 r2882  
    1919    </div> 
    2020     
    21     <head py:replace="pagehead(0)"/> 
     21    <head> 
     22    <replace py:replace="pagehead()"/> 
     23    </head> 
    2224    <body> 
    2325        <div py:replace="header()"/> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/ndgPage.kid

    r2881 r2882  
    44    <!-- HTML Header and Document header follow --> 
    55     
    6     <head py:def="pagehead(ol)"> 
     6    <head py:def="pagehead()" py:strip="True"> 
    77        <title py:content="c.title">title</title> 
    88        <!--! The following includes the javascript, note that the XML 
     
    1010        ${XML(h.javascript_include_tag(builtins=True))} 
    1111        <script type="text/javascript" src="/js/toggleDiv.js"/> 
    12         <script py:if="ol==1" src="/js/OpenLayers.js"/> 
    13         <script py:if="ol==1" src="/js/openlayers-x.js"/> 
    14         <script py:if="ol==1" src="/js/OLMapBox.js"/> 
    15  
    16         <!--! At some stage we should put this as a separate option --> 
    17         <script py:if="ol==1" src="/js/VisMapBox.js"/> 
    1812 
    1913        <link media="all, screen" href="/layout/ndg2.css" type="text/css" rel="stylesheet"/> 
    20  
    21         <script py:if="ol==1" type="text/javascript"> 
    22           var app = null; 
    23           function initOLMapBox() { 
    24             app = new OLMapBoxApp('map','discoForm', 440, 10); 
    25           } 
    26  
    27           function initVisMapBox() { 
    28             app = new VisApp('visMap', 'visForm', 600, 10); 
    29           } 
    30  
    31           function updateVis(formId) { 
    32               var form = $(formId); 
    33               form.granuleURI.value, form.featureId.value, form.time.value 
    34               var wmsURL = "${h.url_for(controller='csml_wms', uri='')}" + form.granuleURI.value; 
    35               app.updateVisLayer(wmsURL, form.featureId.value, form.time.value); 
    36           } 
    37         </script> 
    38  
    3914 
    4015    </head> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/numsim.kid

    r2688 r2882  
    11<html py:extends="'ndgPage.kid',NSfunctions.kid" xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"> 
    2  
    3     <head py:replace="pagehead(0)"/> 
     2    <head> 
     3    <replace py:replace="pagehead()"/> 
     4    </head> 
    45    <body> 
    56        <div py:replace="header()"/> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/results.kid

    r2800 r2882  
    11<html py:extends="'ndgPage.kid','meta.kid'" xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"> 
    22 
    3     <head py:replace="pagehead(0)"/> 
     3    <head> 
     4    <replace py:replace="pagehead()"/> 
     5    </head> 
    46    <body> 
    57    <div id="entirepage"> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/selection.kid

    r2811 r2882  
    11<html py:extends="'ndgPage.kid'" xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"> 
    22 
    3     <head py:replace="pagehead(0)"/> 
     3    <head> 
     4      <replace py:replace="pagehead()"/> 
     5    </head> 
    46    <body> 
    57    <div id="entirepage"> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/stubB.kid

    r2853 r2882  
    22    xmlns:py="http://purl.org/kid/ns#"> 
    33 
    4     <head py:replace="pagehead(0)"/> 
     4    <head> 
     5      <replace py:replace="pagehead()"/> 
     6    </head> 
    57    <body> 
    68        <div id="entirepage"> ${XML(c.tbinfo)} <div py:replace="header()"/> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/visualise.kid

    r2881 r2882  
    88    </div> 
    99         
     10    <script py:def="granuleMetadata(granuleDict)" language="javascript"> 
     11 
     12      var app = null; 
     13      var control = null; 
     14       
     15      <!--! load the metadata of all selected granules into a javascript object on the browser --> 
     16      var granules = { 
     17        <?python granuleNames = granuleDict.keys() ?> 
     18        <for py:for="granuleName in granuleNames" py:strip="True"> 
     19          <?python 
     20            granule = granuleDict[granuleName] 
     21            featureIds = granule.getFeatureList() 
     22          ?> 
     23          "${granuleName}": { 
     24            "wmsURI": "${h.url_for(controller='csml_wms', uri=granuleName)}", 
     25            <for py:for="featureId in featureIds" py:strip="True"> 
     26              <?python feature = granule.getFeature(featureId) ?> 
     27              "${featureId}": { 
     28                name: "${feature.description.CONTENT}", 
     29                ftype: "${feature.featureType}", 
     30                <!--!TODO make domain generic.  This is a hack! --> 
     31                domain: {time: ${str(feature.getDomain()['time'])}} 
     32              }<if py:if="featureId != featureIds[-1]" py:replace="','"/> 
     33            </for> 
     34          }<if py:if="granuleName != granuleNames[-1]" py:replace="','"/> 
     35        </for> 
     36      }; 
     37 
     38      function initVisMapBox() { 
     39        app = new VisApp('visMap', 'visForm', 600, 10); 
     40        control = new VisControl(app, granules, 'dsList', 'fList', 'visForm'); 
     41        // Update the vis 
     42        control.updateVisApp(); 
     43      } 
     44 
     45    </script> 
    1046         
    1147    <div py:def="inpage()"> 
     
    4177                            ?> 
    4278                                ${XML(h.radio_button(name="dataset",value=uri,checked=selStatus))}$uri</li> 
    43                         </ul> 
    44                         ${XML(h.submit_to_remote("submit","update",url=url,update=c.inpageid))} 
    45                         (This button temporary) </form> 
     79                        </ul> 
     80                        ${XML(h.submit_to_remote("submit","update",url=url,update=c.inpageid))} 
     81                        (This button temporary) 
     82                    </form> 
    4683                    <!--${XML(h.observe_form("dsList",url=url,update=c.inpageid))}--> 
    4784                </div> 
     
    73110                                ii+=1 
    74111                                ?> 
    75                                 ${XML(h.check_box(name=checkname,value=featureID,checked=selStatus))}$name 
     112                                ${XML(h.check_box(name=checkname,value=featureID,checked=selStatus))}$name 
    76113                                ($ftype)</li> 
    77114                        </ul> 
    78                         ${XML(h.submit_to_remote("submit","update",url=url,update=c.inpageid))} 
    79                         (This button temporary) </form> 
     115                        ${XML(h.submit_to_remote("submit","update",url=url,update=c.inpageid))} 
     116                        (This button temporary) 
     117                    </form> 
    80118                    <!--${XML(h.observe_form("fList",url=url,update=c.inpageid))}--> 
    81119                </div> 
     
    127165                            </td></tr> 
    128166                        </table> 
    129                         <form name="visSelect" id="visSelect" onchange="updateVis('visSelect')"> 
    130                             <input type="hidden" name="granuleURI" value="$u"/> 
    131                             <input type="hidden" name="featureId" value="$f"/> 
    132                             <input type="hidden" name="time" value="$tstep"/> 
    133                             <input type="button" value="Update" onclick="updateVis('visSelect')"/> 
    134                         </form> 
    135167                    </div> 
    136168                </div> 
     
    143175    <div py:if="not c.fullpage" py:replace="inpage()"/> 
    144176     
    145     <head py:if="c.fullpage" py:replace="pagehead(1)" /> 
     177    <head py:if="c.fullpage"> 
     178      <replace py:replace="pagehead()" /> 
     179 
     180      <script src="/js/OpenLayers.js"/> 
     181      <script src="/js/openlayers-x.js"/> 
     182      <script src="/js/VisMapBox.js"/> 
     183      <replace py:replace="granuleMetadata(c.selections)"/> 
     184 
     185    </head> 
    146186 
    147187    <body py:if="c.fullpage" onload="initVisMapBox()"> 
    148  
    149188        <div id="entirepage"> 
    150189            <div py:replace="header()" /> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/wayf.kid

    r2858 r2882  
    11<html py:extends="'ndgPage.kid'" xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"> 
    2     <head py:replace="pagehead(0)"/> 
     2    <head> 
     3    <replace py:replace="pagehead()"/> 
     4    </head> 
    35    <body> 
    46        <div py:replace="header()"/> 
Note: See TracChangeset for help on using the changeset viewer.