source: cowsclient/branches/qesdi/cowsclient/templates/wmsviz.html @ 5531

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/cowsclient/branches/qesdi/cowsclient/templates/wmsviz.html@5531
Revision 5531, 10.1 KB checked in by pnorton, 11 years ago (diff)

Modified the initial selection code in the layer controller and added the style specific display options.

Line 
1<html xmlns:py="http://genshi.edgewall.org/" 
2      xmlns="http://www.w3.org/1999/xhtml"
3      xmlns:xi="http://www.w3.org/2001/XInclude">   
4<xi:include href="utils.html" />
5<head>
6<link type="text/css" rel="stylesheet" href="$g.server/layout/ddc_style.css"/>
7<link type="text/css" rel="stylesheet" href="$g.server/layout/ddc_vis.css"/>
8<link type="text/css" rel="stylesheet" href="$g.server/layout/ndg2.css"/>
9<!-- <script type='text/javascript'
10        src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script> -->
11
12
13<!-- BEGIN: Yahoo Interface Library -->
14<link type="text/css" rel="stylesheet"
15    href="$g.server/js/yui/treeview/assets/skins/sam/treeview.css"/> 
16     
17<!-- Dependency source files --> 
18<script src = "$g.server/js/yui/yahoo/yahoo-min.js" ></script> 
19<script src = "$g.server/js/yui/event/event-min.js" ></script> 
20 
21<!-- TreeView source file --> 
22<script src = "$g.server/js/yui/treeview/treeview-min.js" ></script> 
23
24<!-- TreeView Menu Style -->
25<link rel="stylesheet" type="text/css" href="$g.server/js/yui/treeview/assets/treeview-menu.css"/> 
26
27<link rel="stylesheet" type="text/css" href="$g.server/js/yui/fonts/fonts-min.css?_yuiversion=2.5.0" />
28
29<!-- needed for the drag and drop list -->
30<script type="text/javascript" src="$g.server/js/yui/utilities/utilities.js" ></script>
31<script type="text/javascript" src="$g.server/js/yui/dragdrop/dragdrop.js" ></script>
32
33
34<link type="text/css" rel="stylesheet" href="$g.server/layout/drag_drop_style.css"/>
35<script src = "$g.server/js/dragAndDrop.js" ></script> 
36
37<!-- END: Yahoo Interface Library -->
38
39<!-- BEGIN: WMSC library -->
40<link type="text/css" rel="stylesheet" href="$g.server/layout/control.css"/>
41
42
43<script src="$g.server/js/wmsc.js"></script>
44<script src="$g.server/js/prototype.js"></script>
45<script src="$g.server/js/OpenLayers/lib/OpenLayers.js" />
46<script src="$g.server/js/openlayers-x.js"/>
47<!-- script src="$g.server/js/dimensionControl.js"/ -->
48<script src="$g.server/js/mapControl.js"/>
49<script src="$g.server/js/layerControl.js"></script> 
50<script src="$g.server/js/capabilities.js"></script>
51<script src="$g.server/js/wcs.js"></script>
52
53<script src="$g.server/js/displayOptionsRetriever.js"></script>
54<script src="$g.server/js/legendRetriever.js"></script>
55<script src="$g.server/js/json2.js"></script>
56
57<script src="$g.server/js/layerList.js"></script>
58
59<link rel="stylesheet" type="text/css" href="$g.server/layout/bottom_controls.css" />
60
61<!-- The layer properties stuff -->
62
63<link rel="stylesheet" type="text/css" href="$g.server/layout/layer_properties.css" />
64
65<script src="$g.server/js/layerInformation.js"></script>
66<script src="$g.server/js/layerDisplayOptions.js"></script>
67<script src="$g.server/js/layerDimensions.js"></script>
68<script src="$g.server/js/layerParameters.js"></script>
69
70<script src="$g.server/js/legendContainer.js"></script>
71<script src="$g.server/js/boundsControl.js"></script>
72<script src="$g.server/js/utils.js"></script>
73<script src="$g.server/js/wmcRetriever.js"></script>
74
75<!-- END: WMSC library -->
76
77<script type="text/javascript">
78
79// Hook into application for debugging.   
80var app = null;
81var control = null;
82
83<?python
84from pylons import session 
85?>   
86
87function alertWMC(wmc) {
88        //alert("wmc = " + wmc);
89}
90
91function init() 
92{
93
94    var wmcRetriever = new WMCRetriever();
95       
96        var layerList = new LayerList('layer_list');
97       
98    var layerParameters = new LayerParameters('layer_properties', 'selection_form', wmcRetriever);
99    console.log("loaded layer params");
100    var legendContainer = new LegendContainer('legend');
101   
102    var boundsControl = new WMSC.BoundsControl('dims');
103   
104    var coordControl = null;
105    var layerControl = new WMSC.VisAppLayers('layerTree', 'layerLeaves',wmcRetriever, 'new_endpoint', 'add_new_endpoint'); 
106   
107    layerList.addSelectorHandlers(layerControl.events);
108    layerParameters.addLayerListHandlers(layerList.events);
109    legendContainer.addLayerListHandlers(layerList.events);
110    legendContainer.addLayerParametersHandlers(layerParameters.events);
111   
112    app = new WMSC.VisApp('map', 10, 640, true);
113
114    app.addLayersHandlers(layerList.events);
115
116    app.addBoundsControl(boundsControl);
117
118    if (document.getElementById('wcsdownload') == null) {
119        //createDownloadButton(wcsdownloadDiv);   
120    }
121
122    var initialSetupJSON = "${c.initialSetupJSON}";
123
124    var initialEndpoints = JSON.parse(initialSetupJSON);
125
126    for (var i=0;i&lt;initialEndpoints.length;i++) {
127        var endpoint = initialEndpoints[i];
128
129        if (endpoint.layers != undefined) {
130                layerControl.addLayersToSelect(endpoint.url, endpoint.layers);
131        }
132       
133        layerControl.addWebMapContext(endpoint.url);
134       
135    }
136
137
138   
139}
140
141function cleanup() 
142{
143    app.destroy();
144}
145   
146<!--! Help Icons -->
147<span py:def="helpIcon(value, elementType = 'div')">
148      <span>
149         <a href="javascript:;" title="Toggle help" onclick="toggleDiv(1,'$value','shown','hidden','$elementType'); return false;">
150         <img src="$g.helpIcon" alt="Toggle help" class="helpicon"/></a>
151      </span>
152</span>   
153
154</script>
155
156<!--<replace py:replace="pagehead()"/> -->
157</head>
158
159<body onload="init()" onunload="cleanup()">
160    <div id="entirepage">
161    <!--<div py:replace="header()"/>  -->
162    <!-- <div py:replace="PageTabs('View')"/> -->
163    <!-- <div py:replace="searchOneLine()"/> -->
164
165<div id="visBody">
166        <table>
167          <tr>
168            <td align="center">
169                <div id="mapBox">
170                    <div id="map"></div>
171                    <div id="legend"></div>
172                </div>
173            </td>
174            <td valign="top">
175              <div class="optDiv">
176                <b>Selection Description</b>
177                <div id="description">
178                  Complete your selection below to view  <span py:replace="helpIcon('coord_help', 'div')"/> 
179                </div>
180              </div>
181               
182                <div id="coord_help" class="hidden">
183                  <div class="helptxt">
184                        Specifying coordinate dimensions will select a region on the map;
185                        when this is appropriately sized, the map will automatically zoom to this region.<br/>
186                        'Reset selection' will return the map to its full, global size.<br/>
187                        Some map layers have additional dimensions, e.g. 'time';
188                        if these are available, they will also be displayed in this panel for selection.<br/>
189                        NB, the dimensions displayed are those relating to the selected dataset
190                        in the left hand tree view - however they will also be applied, where appropriate, to all selected map layers.
191                </div>
192              </div>   
193               
194              <div class="optDiv">
195                <b>Domain</b>
196                    <div id="dims"></div>
197              </div>
198            <div class="wcsDiv">
199                <b>Download Data for this Selection</b>
200                    <div id="wcsdownloadDiv"></div>
201              </div>
202           
203            <form id="figureForm">
204              <b>Plot type</b><br/>
205              <input type="radio" name="figType" value="colour" checked="1"/>Colour<br/>
206              <input type="radio" name="figType" value="bw"/>B/W Contour<br/>
207              <b>Format</b><br/>
208              <select name="figFormat">
209                <option value="image/png" name="figFormat" selected="1"> PNG </option>
210                <option value="image/jpeg" name="figFormat"> JPEG </option>
211                <option value="application/postscript" name="figFormat"> EPS </option>
212                <option value="image/svg+xml" name="figFormat"> SVG </option>
213              </select>
214              <input type="button" value="Make Figure" 
215                  onclick="app.makeFigure(this.parentNode.figType, this.parentNode.figFormat)"/>
216            </form>
217           
218            </td>
219          </tr>
220        </table>
221
222        <table class="controlTable">
223            <col id="datasets_column"/>
224        <col id="layer_column"/>
225        <col id="properties_column"/>
226                 
227                <tr class="controlHeadings">
228                <th>Dataset  <span py:replace="helpIcon('dataset_help')"/> 
229                </th> 
230                <th> Layer <span py:replace="helpIcon('layer_help')"/></th>
231                <th> Properties</th>   
232                </tr>
233                <tr>
234                        <td>
235                            <div id="dataset_help" class="hidden">
236                                  <div class="helptxt">
237                                        Select a dataset to expand it and make its map layers visible; these can then be selected to add to the 'Layer'
238                                        panel for visualisation.<br/> 
239                                        Remove datasets from the display by clicking their <img src="$g.server/js/img/close.gif" /> icon.
240                                </div>
241                            </div>
242                        </td>
243                        <td>
244                            <div id="layer_help" class="hidden">
245                                  <div class="helptxt">
246                                      When multiple map layers are selected, the displayed map is constructed by sequentially adding the layers from the bottom of the list
247                                      to the top.<br/>
248                                      NB, if the topmost layer has legend data available then this will be displayed under the completed map.<br/>
249                                      Remove layers from the displayed map by clicking their <img src="$g.server/js/img/close.gif" /> icon.
250                                </div>
251                            </div>
252                        </td>
253                </tr>
254                <tr>
255                        <td class="controlPanel">
256                             <div class="controlContent" id="layerTree">
257                                 Please wait while datasets load
258                             </div>
259                <div>
260                    New Endpoint:<input type="text" id="new_endpoint" > </input> <input type="button" id="add_new_endpoint" value="Add"/>
261                </div>                       
262                        </td>
263                        <td class="controlPanel">
264                            <div class="controlContent" id="layerLeaves">
265
266                                <div class="workarea">
267                                    <ul class="draglist" id="layer_list">
268                                    </ul>
269                                    <input type="button" value="Remove Selected" id="btn_remove_selected_layer" />
270                                </div>
271                            </div>
272                        </td>
273            <td class="controlPanel">
274           
275                            <div id="layer_properties">
276                   
277                   
278                   
279                            <div id="layer_info_container">
280                                       <form id='layer_info_form'>
281                                       </form>
282                                    </div>
283       
284                            <div id="layer_display_options_container">     
285                                                    <form id='selection_form'>
286                                                    </form>
287                                            </div>
288                                           
289                                            <div id="layer_dimensions_container">
290                                                    <form id="WMSC_dimForm">
291                                                    </form>
292                                            </div>
293                                           
294                   
295                            </div>
296            </td>
297                </tr>
298        </table>
299       
300       
301
302   
303
304
305</div>
306</div>
307</body>
308</html>
Note: See TracBrowser for help on using the repository browser.