source: MILK/trunk/milk_server/milk_server/templates/atom_editor/atom_functions.html @ 4598

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/MILK/trunk/milk_server/milk_server/templates/atom_editor/atom_functions.html@4598
Revision 4598, 32.4 KB checked in by cbyrom, 11 years ago (diff)

Extend helpIcon template function to allow the help section type
(e.g. 'tr' or 'div') to be set, to allow re-use in different places.

Line 
1<!--! A collection of template definitions for use in atom output construction -->
2<html xmlns="http://www.w3.org/1999/xhtml" 
3        xmlns:py="http://genshi.edgewall.org/"
4        xmlns:xi="http://www.w3.org/2001/XInclude"
5        py:strip="">
6       
7    <xi:include href="../utils.html" />
8
9    <div py:if="c.errors" class="error" py:def="displayErrors()">
10        <h3>Input error</h3>
11        <table align="center">
12        <span py:for="key, errors in c.errors.items()" py:strip="">
13                <tr py:for="error in errors">
14                        <td align="left">${Markup(error)}</td>
15                </tr>
16        </span>
17        </table>
18    </div>
19
20   
21    <div py:def="UploadCSMLOrCDMLFileRows(editLink)">
22      <tr>
23      <td class="cellhead">
24          CSML or CDML file:
25                <span py:replace="helpIcon('cdmlOrcsml_help', 'tr')"/>
26          </td>
27          <td>
28                  ${Markup(h.file_field('CSMLOrCDML', size="80"))}
29          </td>
30          </tr>
31      <tr id="cdmlOrcsml_help" class="hidden" >
32              <td class="helptxt" colspan="2">$g.csml_or_csml</td>
33          </tr>                 
34          <tr>
35      <td class="cellhead">
36          Dataset ID:
37                <span py:replace="helpIcon('datasetID_help', 'tr')"/>
38          </td>
39          <td>
40                  ${Markup(h.text_field('datasetID', size="80"))}
41          </td>
42          </tr>
43          <tr id="datasetID_help" class="hidden" >
44             <td class="helptxt" colspan="2">$g.granulite_dataset_id</td>
45          </tr>                 
46          <tr>
47      <td class="cellhead">
48          Time axis:
49                <span py:replace="helpIcon('timeAxis_help', 'tr')"/>
50          </td>
51          <td>
52                  ${Markup(h.text_field('timeAxis', size="80"))}
53          </td>
54          </tr>
55            <tr id="timeAxis_help" class="hidden" >
56                       <td class="helptxt" colspan="2">$g.granulite_time</td>
57                  </tr>                 
58      <tr>
59      <td />
60      <td colspan="2">
61                ${Markup(h.submit('Upload', **{'onclick': 'Div_show("loading");'}))}
62      </td>
63      </tr>
64        </div>
65
66   
67    <div py:def="UploadCSMLOrCDMLFileForm(editLink)">
68        <div class="headingblock" py:if="editLink">
69                ${Markup(h.form(h.url(controller='atom_editor/editatom', action='upload', uri = c.uri), multipart=True))}
70                <table>
71                        <tr>
72                                <td class="linehead" colspan="2">
73                                Upload data
74                            </td>
75                        </tr>
76                        <div py:replace="UploadCSMLOrCDMLFileRows(editLink)"/>
77                        </table>
78                        ${Markup(h.end_form())}
79                </div>
80        </div>
81
82   
83    <div py:def="UploadFile(title, fileType, editLink)">
84        <div class="headingblock" py:if="editLink">
85        ${Markup(h.form(h.url(controller='atom_editor/editatom', action='upload', uri = c.uri), multipart=True))}
86        <table>
87                              <tr>
88                              <td class="cellhead">
89                              ${Markup(title)}
90                                  </td>
91                                  </tr>
92                                  <tr>
93                                  <td></td>
94                                  <td>
95                                          ${Markup(h.file_field('upload_' + fileType, size="80"))}
96                                  </td>
97                                  </tr>
98                              <tr>
99                              <td />
100                              <td colspan="2">
101                        ${Markup(h.submit('Upload', **{'onclick': 'Div_show("loading");'}))}
102                              </td>
103                              </tr>
104        </table>
105                ${Markup(h.end_form())}
106                </div>
107        </div>
108
109   
110    <div class="metadataSection" py:def="ContentFile(fileName, editLink)">
111        <?python       
112                                divID = 'contentFileDiv'
113                                edID=divID+'ed'
114                ?>
115        <table>
116            <tr><td class="linehead">
117                    <table>
118                        <tr><td>Content File</td>
119                            <span py:if="editLink" py:strip="">
120                                <td align="right">
121                                        <span class="txtBlktog">
122                                        <a href="javascript:;" title="Toggle Form" 
123                                             onclick="swapLayers('$divID', '$edID'); return false;">
124                                        Add/Edit</a>
125                                        </span>
126                                    </td>
127                            </span>
128                                        </tr>
129                                </table>
130            </td></tr>
131            <tr><td>
132                <div id = "$divID">
133                                <div py:replace="ContentFileTable(fileName, None)"/>
134                        </div>
135                        </td></tr>
136                <tr py:if="editLink"><td>
137                        <div id="$edID" class="hidden">
138                                <div py:replace="ContentFileTable(fileName, editLink)"/>
139                        </div>
140                        </td></tr>
141        </table>
142        </div>
143
144
145        <div py:def="ContentFileTable(fileName, editLink)">
146                <form action="${editLink}" method="post">
147            <table>
148                <tr py:if="not editLink and not fileName">
149                                <td colspan="3">No data specified at present</td>
150                        </tr>
151                        <tr py:if="editLink or fileName">
152                                <td class="cellhead">File name:</td>
153                        <td py:if="editLink">
154                                    ${Markup(h.text_field('contentFile', fileName))}
155                                        </td>
156                        <td py:if="not editLink">
157                        ${Markup(fileName)}
158                                </td>
159                                <td py:if="editLink">
160                                ${Markup(h.submit('Update', **{'onclick': 'Div_show("loading");'}))}
161                                </td>
162                </tr>
163                        </table>
164                </form>
165        </div>
166
167    <div class="headingblock" py:def="GeneralInfo(editLink)">
168                <h4>General Info</h4>
169                <form action="${c.saveLink}" method="post">
170                        <table summary="" width="100%">
171                        <tr>
172                        <td class="cellhead" width="10%">Title:</td>
173                        <td py:if="editLink" class="column">
174                                ${Markup(h.text_field('title',c.atom.title, size="120"))}
175                        </td>
176                        <td py:if="not editLink" class="column">
177                                ${Markup(c.atom.title)}
178                        </td>
179                        <?python logos = c.atom.getLogos() ?>
180                        <td py:if="logos">
181                   <img py:for="logo in logos" 
182                        alt="$logo.rel" 
183                        src="$logo.href" class="clear"/>
184                </td>
185                            </tr>
186                            <tr py:if="not editLink">
187                        <td class="cellhead">Type:</td>
188                        <td class="column">
189                                ${Markup(c.atom.atomTypeName)}
190                        </td>
191                        </tr>
192                            <span py:if="len(c.subTypes) &gt; 0" py:strip="">
193                            <tr>
194                        <td class="cellhead">Sub-Type:</td>
195                        <td py:if="editLink" class="column">
196                                ${Markup(h.select('subtype',option_tags=c.subTypes))}
197                        </td>
198                        <td py:if="not editLink" class="column">
199                                ${Markup(g.vtd.tidySubTypeTitle(c.atom.subtypeID))}
200                        </td>
201                        </tr>
202                        </span>
203                        <tr py:if="not c.atom.isDeployment()">
204                        <td class="cellhead" width="10%">Abbreviation:</td>
205                        <td py:if="editLink" class="column">
206                                ${Markup(h.text_field('abbreviation',c.atom.ME.abbreviation))}
207                        </td>
208                        <td py:if="not editLink" class="column">
209                                ${Markup(c.atom.ME.abbreviation or "")}
210                        </td>
211                            </tr>
212                         <tr>
213                        <td></td>
214                        <td py:if="editLink">
215                        ${Markup(h.submit('Update', **{'onclick': 'Div_show("loading");'}))}
216                        </td>
217                </tr></table>
218        </form>
219        </div>
220
221
222   
223    <div class="metadataSection" py:def="TextArea(name, value, editLink)">
224        <?python       
225                                divID = name + 'Div'
226                                edID=divID+'ed'
227                ?>
228        <table py:if="value or editLink">
229            <tr><td class="linehead">
230                    <table>
231                        <tr><td>${name}</td>
232                            <span py:if="editLink" py:strip="">
233                                <td align="right">
234                                        <span class="txtBlktog">
235                                        <a href="javascript:;" title="Toggle Form" 
236                                             onclick="swapLayers('$divID', '$edID'); return false;">
237                                        Add/Edit</a>
238                                        </span>
239                                    </td>
240                            </span>
241                                        </tr>
242                                </table>
243            </td></tr>
244            <tr><td>
245                <div id = "$divID">
246                                ${Markup(value or 'No data specified at present')}
247                        </div>
248                        </td></tr>
249                <tr py:if="editLink"><td>
250                        <div id="$edID" class="hidden">
251                                        <form action="${editLink}" method="post">
252                                        <table>
253                                <tr><td>
254                                        ${Markup(h.text_area(name, value, class_="fullWidth", rows="9"))}
255                                </td></tr>
256                                <tr><td>
257                        ${Markup(h.submit('Update', **{'onclick': 'Div_show("loading");'}))}
258                    </td></tr>
259                                        </table>
260                                        </form>
261                        </div>
262                        </td></tr>
263        </table>
264    </div>
265   
266    <div class="metadataSection" py:def="People(ptype,listOfPeople,editLink)">
267        <?python       
268                                divID = ptype + 'peopleDiv'
269                                edID=divID+'ed'
270                ?>
271        <table py:if="listOfPeople or editLink">
272            <tr><td class="linehead">
273                    <table>
274                        <tr><td>$ptype</td>
275                            <span py:if="editLink" py:strip="">
276                                <td align="right">
277                                        <span class="txtBlktog">
278                                        <a href="javascript:;" title="Toggle Form" 
279                                             onclick="swapLayers('$divID', '$edID'); return false;">
280                                        Add/Edit</a>
281                                        </span>
282                                    </td>
283                            </span>
284                                        </tr>
285                                </table>
286            </td></tr>
287            <tr><td>
288                <div id = "$divID">
289                                <div py:replace="PeopleTable(listOfPeople, ptype, None)"/>
290                        </div>
291                        </td></tr>
292                <tr py:if="editLink"><td>
293                        <div id="$edID" class="hidden">
294                                <div py:replace="PeopleTable(listOfPeople, ptype, editLink)"/>
295                        </div>
296                        </td></tr>
297        </table>
298    </div>
299
300        <div py:def="PeopleTable(listOfPeople, ptype, editLink)">
301                <form action="${editLink}" method="post">
302            <table>
303                <tr>
304                        <?python
305                                hasRole = False
306                                dataType = 'email'
307                                if ptype == "Responsible Parties":
308                                        hasRole = True
309                                        dataType = 'URI'
310                                               
311                                extraRows = 3
312                                if ptype == "Author":
313                                        extraRows = 0
314                        ?>
315                        <span py:if="not editLink and not listOfPeople" py:strip="">
316                                <td colspan="3">No data specified at present</td>
317                        </span>
318                        <span py:if="editLink or listOfPeople" py:strip="">
319                                <th py:if="hasRole" align="left">Role</th>
320                                <th align="left">Name</th>
321                                <th align="left">${dataType}</th>
322                        </span>
323                        <span py:if="editLink and listOfPeople" py:strip="">
324                                <th align="center">Remove</th>
325                        </span>
326                </tr>
327                    <tr py:for="i, person in enumerate(listOfPeople)">
328                        <span py:if="hasRole" py:strip="">
329                                <td py:if="editLink">
330                                            ${Markup(h.text_field(ptype + '.' + str(i) + '.role',person.role))}
331                                        </td>
332                        <td py:if="not editLink">
333                                $person.role
334                                </td>
335                        </span>
336                        <td>
337                        <span py:if="editLink" py:strip="">
338                                    ${Markup(h.text_field(ptype + '.' + str(i) + '.name',person.name))}
339                                </span>
340                        <span py:if="not editLink" py:strip="">
341                                $person.name
342                                </span>
343                        </td>
344                        <td>
345                        <span py:if="editLink" py:strip="">
346                                    ${Markup(h.text_field(ptype + '.' + str(i) + '.uri',person.uri))}
347                                </span>
348                        <span py:if="not editLink" py:strip="">
349                                <a href="$person.uri">$person.uri</a>
350                                </span>
351                        </td>
352                        <span py:if="editLink and listOfPeople" py:strip="">
353                                <td align="center">
354                                        ${Markup(h.check_box(ptype + '.' + str(i) + '.remove'))}
355                                </td>
356                        </span>
357                                </tr>
358                                <!--! Add a few more rows when in edit mode  -->
359                        <span py:if="editLink" py:strip="">
360                    <tr py:for="i in range(len(listOfPeople), len(listOfPeople) + extraRows)">
361                        <td py:if="hasRole">
362                                    ${Markup(h.text_field(ptype + '.' + str(i) + '.role'))}
363                        </td>
364                        <td>
365                                    ${Markup(h.text_field(ptype + '.' + str(i) + '.name'))}
366                        </td>
367                        <td>
368                                    ${Markup(h.text_field(ptype + '.' + str(i) + '.uri'))}
369                        </td>
370                        <span py:if="editLink" py:strip=""><td></td></span>
371                                </tr>
372                       
373                                <tr><td>
374                        ${Markup(h.submit('Update', **{'onclick': 'Div_show("loading");'}))}
375                      </td></tr>
376                                </span>
377                        </table>
378                </form>
379        </div>
380       
381   
382    <div class="headingblock" py:def="SummaryDeployments(deployments)" id="summaryDeployment">
383        <table py:if="deployments">
384                <tr>
385                <td class="headingblock">
386                <table><tr><td><h3>Deployments - summary</h3></td>
387                    <td align="right">
388                <span py:replace="expandHideSection('fullDeployment','summaryDeployment',g.navPlus)" strip=""/>
389                </td></tr>
390                        </table>
391            </td></tr>
392                        <tr><td>
393                        <table id="deploymentsTable">
394                                <tr>
395                                <td class="cellhead">Activities</td>
396                                <td>
397                                        <span py:for="act in c.atom.allActivities" py:strip="">
398                                                <a href="$act.href">${act.title or act.href}</a>&nbsp;&nbsp; 
399                                        </span>
400                                </td>                   
401                                </tr>
402                                <tr><td class="cellhead">Observation Stations</td>
403                                <td>
404                                        <span py:for="obs in c.atom.allObs" py:strip="">
405                                                <a href="$obs.href">${obs.title or obs.href}</a>&nbsp;&nbsp; 
406                                        </span>
407                                </td>                   
408                                </tr>
409                                <tr><td class="cellhead">Data Production tools</td>
410                                <td>
411                                        <span py:for="dpt in c.atom.allDpts" py:strip="">
412                                                <a href="$dpt.href">${dpt.title or dpt.href}</a>&nbsp;&nbsp; 
413                                        </span>
414                                </td>                   
415                                </tr>
416                        </table></td></tr>
417                </table>
418        </div>
419   
420    <div class="headingblock hidden" py:def="FullDeployments(deployments)" id="fullDeployment">
421        <table py:if="deployments">
422        <tr><td class="headingblock" >
423            <table><tr><td><h3>Deployments - details</h3></td>
424            <td align="right">
425            <span py:if="deployments" py:replace="expandHideSection('fullDeployment','summaryDeployment',g.navMinus)" strip=""/>
426            </td></tr></table>
427        </td></tr>
428        <tr>
429                <table class="subTable">
430                                <div py:for="deployment in deployments" py:strip="">
431                                <div py:replace="FullDeployment(deployment)"/>
432                        </div>
433                </table></tr>
434                </table>
435        </div>
436   
437    <div class="headingblock" py:def="DataEntities(des)">
438        <table py:if="des">
439        <tr><td class="headingblock" >
440            <table><tr><td><h3>Associated Data Entities - summary</h3></td>
441                        </tr></table>
442        </td></tr>
443        <tr>
444                <table class="subTable">
445                                <tr><td class="cellhead">Title</td></tr>
446                                <tr py:for="de in des">
447                                <td><a href="$de.href">${de.title or de.href}</a></td>
448                        </tr>
449                </table></tr>
450                </table>
451        </div>
452       
453    <div py:def="FullDeployment(dep)" py:strip="">
454                <tr class="cellhead" colspan="2"><td> Start Date: ${dep.startDate or 'None'}, End Date: ${dep.endDate or 'None'}</td></tr>
455        <tr py:for="link in dep.getAllLinks()" >
456        <?python
457                rel=link.rel.upper()
458                if rel.startswith(g.vtd.ACTIVITY_TERM):
459                                rel = "Activity"
460                elif rel.startswith(g.vtd.OBS_TERM):
461                                rel = "Observation Station"
462                elif rel.startswith(g.vtd.DPT_TERM):
463                                rel = "Data Production Tool"
464        ?>
465        <td>$rel</td><td><a href="$link.href">${link.title or link.href}</a></td>
466        </tr>
467    </div>
468
469
470    <span py:def="expandHideSection(div1,div2,icon)">
471            <a href="javascript:;" title="Show/Hide details" 
472                onclick="swapLayers('$div1', '$div2'); return false;">
473            <img src="$icon" alt="Toggle expand/contract" class="helpicon"/></a>
474    </span>
475
476    <div class="metadataSection" py:def="OnlineReferences(links, editLink)">
477        <?python       
478                                divID = 'onlineRefDiv'
479                                edID = divID+'ed'
480                ?>
481                <table py:if="links or editLink">
482            <tr><td class="linehead">
483                    <table>
484                        <tr><td>Online References</td>
485                            <span py:if="editLink" py:strip="">
486                                <td align="right">
487                                        <span class="txtBlktog">
488                                        <a href="javascript:;" title="Toggle Form" 
489                                             onclick="swapLayers('$divID', '$edID'); return false;">
490                                        Add/Edit</a>
491                                        </span>
492                                    </td>
493                            </span>
494                                        </tr>
495                                </table>
496                                </td>
497                        </tr>
498            <tr><td>
499                <div id = "$divID">
500                                <div py:if="links" py:replace="OnlineRefEditTable(links, None)"/>
501                        <span py:if="not links" py:strip="">No data specified at present</span>
502                        </div>
503                        </td></tr>
504                <tr py:if="editLink"><td>
505                        <div id="$edID" class="hidden">
506                                <div py:replace="OnlineRefEditTable(links, editLink)"/>
507                        </div>
508                        </td></tr>
509                        <tr><td>
510            </td></tr>
511        </table>
512    </div>
513
514
515        <div py:def="OnlineRefEditTable(links, editLink)">
516                <form action="${editLink}" method="post">
517                        <?python
518                                from ndgUtils.models.Atom import Atom as a
519                                refLabel = a.ONLINE_REF_LABEL + "."
520                                remLabel = "." + a.REMOVE_LABEL
521                                extraRows = 3
522                        ?>
523            <table>
524                <tr>
525                                <th align="left">Relation</th>
526                        <th py:if="editLink" align="left">URI</th>
527                        <th align="left">Title</th>
528                        <th py:if="links and editLink" align="center">Remove</th>
529                </tr>
530                    <tr py:for="i, link in enumerate(links)">
531                            <?python
532                        # get the default display value type
533                        try:
534                                vti = g.vtd.getTermItemfromFullVocabURI(link.rel)
535                                displayType = vti.title or link.rel
536                        except:
537                                displayType = link.rel
538                            ?>
539                        <td>
540                                                <span py:if="editLink" py:strip="">
541                                        ${Markup(h.select(refLabel + str(i) + '.rel', option_tags=c.relatedLinkSelectedLists[str(link)]))}
542                                                </span>
543                                        <span py:if="not editLink" py:strip="">
544                                        ${Markup(displayType)}
545                                                </span>
546                        </td>
547                        <td py:if="editLink">
548                                    ${Markup(h.text_field(refLabel + str(i) + '.href', link.href))}
549                                        </td>
550                        <td>
551                                                <span py:if="editLink" py:strip="">
552                                            ${Markup(h.text_field(refLabel + str(i) + '.title', link.title))}
553                                                </span>
554                                        <span py:if="not editLink" py:strip="">
555                                                <a href="${link.href}">${Markup(link.title or link.href)}</a>
556                                                </span>
557                        </td>
558                        <td py:if="editLink" align="center">
559                                ${Markup(h.check_box(refLabel + str(i) + remLabel))}
560                        </td>
561                                </tr>
562                    <tr py:if="editLink" py:for="i in range(len(links), len(links) + extraRows)">
563                        <td>
564                                        ${Markup(h.select(refLabel + str(i) + '.rel', option_tags=c.relatedLinkTerms))}
565                        </td>
566                        <td>
567                                    ${Markup(h.text_field(refLabel + str(i) + '.href'))}
568                        </td>
569                        <td>
570                                    ${Markup(h.text_field(refLabel + str(i) + '.title'))}
571                        </td>
572                        <td py:if="links" />
573                                </tr>
574                        <tr py:if="editLink"><td>
575                        ${Markup(h.submit('Update', **{'onclick': 'Div_show("loading");'}))}
576                </td></tr>
577                        </table>
578                </form>
579        </div>
580   
581
582    <div class="metadataSection" py:def="Associations(sectionName, links, addLink, editLink)">
583        <?python       
584                                divID = sectionName + 'Div'
585                                edID = divID+'ed'
586                ?>
587                <table py:if="links or editLink">
588            <tr><td class="linehead">
589                    <table>
590                        <tr><td>${sectionName}</td>
591                            <span py:if="addLink" py:strip="">
592                                <td align="right">
593                                        <span class="txtBlktog">
594                                        <a href="$addLink">Add</a>
595                                        <a py:if="links" href="javascript:;" title="Toggle Form" 
596                                             onclick="swapLayers('$divID', '$edID'); return false;">
597                                        Edit</a>
598                                        </span>
599                                    </td>
600                            </span>
601                                        </tr>
602                                </table>
603                                </td>
604                        </tr>
605            <tr><td>
606                <div id = "$divID">
607                                <div py:replace="AssociationsTable(links, None)"/>
608                        </div>
609                        </td></tr>
610                <tr py:if="editLink"><td>
611                        <div id="$edID" class="hidden">
612                                <div py:replace="AssociationsTable(links, editLink)"/>
613                        </div>
614                        </td></tr>
615                        <tr><td>
616            </td></tr>
617        </table>
618    </div>
619
620
621        <div py:def="AssociationsTable(links, editLink)">
622                <form py:if="links" action="${editLink}" method="post">
623                <?python c.isDeployment = False ?>
624            <table>
625                <tr>
626                                <th align="left">Type</th>
627                        <th align="left">Title</th>
628                        <th py:if="editLink and links" align="center">Remove</th>
629                </tr>
630                                <?python
631                                        from ndgUtils.models.Atom import Atom as a
632                                        delim = a.DELIMITER
633                                        refLabel = a.ATOM_REF_LABEL + delim
634                                ?>
635                    <tr py:for="i, link in enumerate(links)">
636                            <?python
637                        # get the default display value
638                        displayVal = link.title or link.href
639                        try:
640                                vti = g.vtd.getTermItemfromFullVocabURI(link.rel)
641                                subType = g.vtd.tidySubTypeTitle(vti.title)
642                        except:
643                                subType = link.rel
644
645                        inputLabel = refLabel + link.href + delim + (link.title or "") + delim + link.rel
646                        if subType == 'Deployment':
647                                c.isDeployment = True
648                            ?>
649                            <td>${subType}</td>
650                            <td><a href="$link.href">${displayVal}</a></td>
651                        <td py:if="editLink and links" align="center">
652                                ${Markup(h.check_box(inputLabel))}
653                        </td>
654                                </tr>
655                        <tr py:if="editLink and links"><td></td><td></td><td align="center">
656                        ${Markup(h.submit('Remove', **{'onclick': 'Div_show("loading");'}))}
657                        </td></tr>
658                        </table>
659                </form>
660                <table py:if="not links"><tr><td>
661                        No data specified at present
662                </td></tr>
663                </table>
664        </div>
665
666
667    <div py:def="FullParameterList(params, editLink, visibility)">
668            <div class="metadataSection ${visibility}" id="fullParams">
669        <?python       
670                                divID = 'parametersDiv'
671                                edID = divID+'ed'
672                ?>
673        <table py:if="params or editLink">
674            <tr><td class="linehead">
675            <table>
676                    <tr><td>Parameters - details</td>
677                <td align="right">
678                <a py:if="editLink" href="javascript:;" title="Toggle Form" 
679                             onclick="swapLayers('$divID', '$edID'); return false;">
680                        Add/Edit</a>
681                    <span py:if="not editLink" py:replace="expandHideSection('fullParams','summaryParams',g.navMinus)" strip=""/>
682            </td></tr></table></td></tr>
683            <tr><td>
684                <div id = "$divID">
685                            <div py:replace="ParametersTable(params, None)"/>
686                        </div>
687                        </td></tr>
688                <tr py:if="editLink"><td>
689                        <div id="$edID" class="hidden">
690                            <div py:replace="ParametersTable(params, editLink)"/>
691                        </div>
692                        </td></tr>
693
694        </table>
695        </div>
696    </div>
697
698
699    <div class="metadataSection" py:def="ParametersTable(params, editLink)" id="fullParams">
700                <form action="${editLink}" method="post">
701                        <?python
702                                from ndgUtils.models.Atom import Atom as a
703                                refLabel = a.PARAMETER_LABEL + "."
704                                remLabel = "." + a.REMOVE_LABEL
705                                extraRows = 3
706                        ?>
707                <table class="subTable">
708                <tr py:if="params or editLink" class="cellhead">
709                                <th align="left">Label</th>
710                                <th align="left">Vocab Term URL</th>
711                        <th align="left">Vocab Term ID</th>
712                                <th py:if="params and editLink" align="center">Remove</th>
713                        </tr>
714                                <tr py:if="not editLink and not params">
715                                <td colspan="3">No data specified at present</td>
716                </tr>
717                    <tr py:for="i, param in enumerate(params)">
718                        <td>
719                                                <span py:if="editLink" py:strip="">
720                                            ${Markup(h.text_field(refLabel + str(i) + '.label', param.label, class_="fullWidth"))}
721                                                </span>
722                                        <span py:if="not editLink" py:strip="">
723                                                ${param.label}
724                                                </span>
725                        </td>
726                        <td>
727                                                <span py:if="editLink" py:strip="">
728                                            ${Markup(h.text_field(refLabel + str(i) + '.scheme', param.scheme, class_="fullWidth"))}
729                                                </span>
730                                        <span py:if="not editLink" py:strip="">
731                                                ${param.scheme}
732                                                </span>
733                                        </td>
734                        <td>
735                                                <span py:if="editLink" py:strip="">
736                                            ${Markup(h.text_field(refLabel + str(i) + '.term', param.term, class_="fullWidth"))}
737                                                </span>
738                                        <span py:if="not editLink" py:strip="">
739                                                ${param.term}
740                                                </span>
741                        </td>
742                        <td py:if="editLink" align="center">
743                                ${Markup(h.check_box(refLabel + str(i) + remLabel))}
744                        </td>
745                                </tr>
746                    <tr py:if="editLink" py:for="i in range(len(params), len(params) + extraRows)">
747                        <td>
748                                        ${Markup(h.text_field(refLabel + str(i) + '.label', class_="fullWidth"))}
749                        </td>
750                        <td>
751                                    ${Markup(h.text_field(refLabel + str(i) + '.scheme', class_="fullWidth"))}
752                        </td>
753                        <td>
754                                    ${Markup(h.text_field(refLabel + str(i) + '.term', class_="fullWidth"))}
755                        </td>
756                        <td py:if="params" />
757                                </tr>
758                        <tr py:if="editLink"><td>
759                        ${Markup(h.submit('Update', **{'onclick': 'Div_show("loading");'}))}
760                </td></tr>
761                        </table>
762                </form>
763    </div>
764
765
766    <div py:def="SummaryParameterList(params)" id="summaryParams" class="metadataSection shown">
767        <table py:if="params">
768            <tr><td class="linehead">
769            <table><tr><td>Parameters - summary</td>
770            <td align="right">
771            <span py:replace="expandHideSection('fullParams','summaryParams',g.navPlus)" strip=""/>
772            </td></tr></table></td></tr>
773            <tr>
774            <table class="subTable">
775                <?python
776                        fullLength = len(list(params))
777                        colNumber = 4
778                ?>
779                        <span py:for="index, param in enumerate(params)" py:strip="">
780                                <tr class="summaryText">
781                                 <span py:if="not index%colNumber" py:strip="">
782                                 <span py:for="i in range(colNumber)" py:strip="">
783                                        <td py:if="index &lt; fullLength - i">${params[index + i].label or params[index + i].term or params[index + i].scheme}</td>
784                                 </span>
785                                 </span>
786                                        </tr>
787                        </span>
788            </table>
789            </tr>
790        </table>
791    </div>
792   
793    <div class="metadataSection" py:def="Coverage(editLink)">
794        <?python       
795                                divID = 'spatialtemporalDiv'
796                                edID = divID+'ed'
797                ?>
798        <table>
799            <tr><td class="linehead" colspan="2">
800                    <table>
801                        <tr><td>Data Coverage</td>
802                            <span py:if="editLink" py:strip="">
803                                <td align="right">
804                                        <span class="txtBlktog">
805                                        <a href="javascript:;" title="Toggle Form" 
806                                             onclick="swapLayers('$divID', '$edID'); return false;">
807                                        Add/Edit</a>
808                                        </span>
809                                    </td>
810                            </span>
811                                        </tr>
812                                </table>
813                                </td>
814                        </tr>
815            <tr>
816                <td>
817                <div id="$divID">
818                        <table><tr>
819                        <td><div py:replace="Spatial(None)"/></td>
820                        <td><div py:replace="Temporal(None)"/></td>
821                    </tr></table>
822                </div>
823                </td>
824            </tr>
825            <span py:if="editLink" py:strip="">
826                                <form action="${editLink}" method="post">
827                <tr>
828                        <td>
829                        <div id="$edID" class="hidden">
830                                <table><tr>
831                                <td><div py:replace="Spatial(editLink)"/></td>
832                            <td><div py:replace="Temporal(editLink)"/></td>
833                            </tr>
834                            <tr><td>
835                                ${Markup(h.submit('Update', **{'onclick': 'Div_show("loading");'}))}
836                                 </td></tr>
837                            </table>
838                        </div>
839                    </td>
840                    </tr>
841                                </form>
842                        </span>
843        </table>
844    </div>
845
846    <div py:def="Temporal(editLink)" py:strip="">
847                <table><tr><td class="cellhead">Temporal coverage</td>
848                        <td py:if="editLink">(e.g. 1975-04-28)</td></tr>
849            <span py:if="c.atom.t1 or c.atom.t2 or editLink" py:strip="">
850                                <tr><td>Start Date:</td>
851                                <td>
852                                <span py:if="editLink" py:strip="">
853                                ${Markup(h.text_field('t1', c.atom.t1))}
854                                </span>
855                        <span py:if="not editLink" py:strip="">
856                        ${c.atom.t1}
857                                </span>
858                                </td></tr>
859                                <tr><td>End Date:</td>
860                                <td>
861                                <span py:if="editLink" py:strip="">
862                                ${Markup(h.text_field('t2', c.atom.t2))}
863                                </span>
864                        <span py:if="not editLink" py:strip="">
865                        ${c.atom.t2}
866                                </span>
867                                </td></tr>
868            </span>
869            <span py:if="not c.atom.t1 and not c.atom.t2 and not editLink" py:strip="">
870                                <tr><td colspan="2">No temporal information available.</td></tr>
871                        </span>
872        </table>
873    </div>
874                           
875    <div py:def="Spatial(editLink)" py:strip="">
876        <table>
877            <tr><td colspan="2" class="cellhead">Spatial coverage</td></tr>
878            <span py:if="not c.atom.minX and not c.atom.minY and not c.atom.maxX and not c.atom.maxY and not editLink" py:strip="">
879                    <tr><td colspan="2">No spatial coverage information available.</td></tr>
880                </span>
881            <span py:if="c.atom.minX or c.atom.minY or c.atom.maxX or c.atom.maxY or editLink" py:strip="">
882                                <tr>
883                                <td colspan="2" align="center">
884                                <span py:if="editLink" py:strip="">
885                                <span class="cellhead">Max Y</span> ${Markup(h.text_field('maxY', c.atom.maxY))}
886                                </span>
887                        <span py:if="not editLink" py:strip="">
888                        <span class="cellhead">Max Y</span> ${c.atom.maxY}
889                                </span>
890                                </td></tr>
891                        <tr><td align="center">
892                                <span py:if="editLink" py:strip="">
893                                <span class="cellhead">Min X</span> ${Markup(h.text_field('minX', c.atom.minX))}
894                                </span>
895                        <span py:if="not editLink" py:strip="">
896                        <span class="cellhead">Min X</span> ${c.atom.minX}
897                                </span>
898                        </td><td align="center">
899                                <span py:if="editLink" py:strip="">
900                                <span class="cellhead">Max X</span> ${Markup(h.text_field('maxX', c.atom.maxX))}
901                                </span>
902                        <span py:if="not editLink" py:strip="">
903                        <span class="cellhead">Max X</span> ${c.atom.maxX}
904                                </span>
905                        </td></tr>
906                        <tr><td colspan="2" align="center">
907                                <span py:if="editLink" py:strip="">
908                                <span class="cellhead">Min Y</span> ${Markup(h.text_field('minY', c.atom.minY))}
909                                </span>
910                        <span py:if="not editLink" py:strip="">
911                        <span class="cellhead">Min Y</span> ${c.atom.minY}
912                                </span>
913                        </td></tr>
914                </span>
915        </table> 
916    </div>
917   
918       
919    <div py:def="Services()" id="ServiceList" class="metadataSection">
920        <table cellspacing="0" cellpadding="3" width="100%" border="0"><tbody>
921            <tr><td class="linehead" colspan="3"><span class="headingO">Links and Services</span></td></tr>
922            <tr py:if="c.atom.ndgObject is not None">
923                    <td width="20%"><span py:replace="linkimage(c.atom.ndgObject.xmlURL,g.icons_xml,'[XML]')"/></td>
924                <td>Downloadable XML version of this record
925                    <span py:if="c.atom.ndgObject.gettable==1" py:strip="">
926                (Original <span py:replace="linkimage(c.atom.ndgObject.xmlURL+'&amp;outputSchema=original',g.icons_xml,'[XML]')"/>)
927                    </span></td>
928                </tr>
929            <tr py:if="c.atom.ndgObject is not None">
930                <td width="20%"><span py:replace="linkimage(c.atom.ndgObject.printableURL,g.icons_prn,'[HTML]')"/></td>
931                    <td>Viewable XML version of this record
932                 <span py:if="c.atom.ndgObject.gettable==1" py:strip="">
933                    (Original <span py:replace="linkimage(c.atom.ndgObject.printableURL+'&amp;outputSchema=original',g.icons_prn,'[HTML]')"/>)
934                </span></td>
935            </tr>
936            <tr py:if="c.atom.ndgObject.gettable==1"><td></td><td>(Original records are the raw material harvested from data providers)</td></tr>
937        </tbody></table>
938    </div>
939</html>
Note: See TracBrowser for help on using the repository browser.