source: MILK/trunk/milk_server/milk_server/templates/utils.html @ 4604

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

Implement text help for the remaining atom edit sections. Improve
handling of authors data - to cope with empty author data.
Move helper template functions to the utils template.

RevLine 
[4198]1<?python
2 def et2string(x):
3     #use this to strip namespaces for children within text elements
4     cb=x.tag.find('}')
5     if cb!=-1:
6        x.tag=x.tag[cb+1:]
7     txt=(x.text or '')
8     s='<%s>%s'%(x.tag,txt)
9     # recurse through tree, if necessary
10     for a in x:
11         s+=et2string(a)
12     s+='</%s>%s'%(x.tag,(x.tail or ''))
13     return s
14     ?>
15 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://genshi.edgewall.org/"
16        py:strip="">
17
18    <span py:def="Text(elem)" py:strip="">
19        <!--! Note that we have to expect the possibility of xhtml in these elements and we won't
20        want the parent attributes, or the namespaces -->
21        <span py:if="elem is not None" py:strip="">
22                <span py:if="hasattr(elem, 'text')" py:strip="">
23                        ${elem.text.strip()}
24                </span>
25                <!--! output any child elements  -->
26                    <span py:with="s = ''" py:strip="">
27                    <?python
28                    for a in elem:
29                        s+=et2string(a)
30                        ?>
31                        <span py:if="s" py:strip="">
32                                ${Markup(s).strip()}
33                            </span>
34                        </span>
35        </span>
36    </span>
[4604]37
38
39    <span py:def="expandHideSection(div1,div2,icon)">
40            <a href="javascript:;" title="Show/Hide details" 
41                onclick="swapLayers('$div1', '$div2'); return false;">
42            <img src="$icon" alt="Toggle expand/contract" class="helpicon"/></a>
43    </span>
44
45   
46    <div class="metadataSection" py:def="TextArea(name, value, editLink, helpText)">
47        <?python       
48                                divID = name + 'Div'
49                                edID = divID+'ed'
50                                helpID = divID + '_help'
51                ?>
52        <table py:if="value or editLink">
53            <tr><td class="linehead">
54                    <table>
55                        <tr><td>${name}<span py:if="editLink" py:replace="helpIcon(helpID, 'tr')"/></td>
56                            <span py:if="editLink" py:strip="">
57                                <td align="right">
58                                        <span class="txtBlktog">
59                                        <a href="javascript:;" title="Toggle Form" 
60                                             onclick="swapLayers('$divID', '$edID'); return false;">
61                                        Add/Edit</a>
62                                        </span>
63                                    </td>
64                            </span>
65                                        </tr>
66                                <tr id="$helpID" class="hidden" >
67                                        <td class="helptxt" colspan="2">$helpText</td>
68                                        </tr>                   
69                                </table>
70            </td></tr>
71            <tr><td>
72                <div id = "$divID">
73                                ${Markup(value or 'No data specified at present')}
74                        </div>
75                        </td></tr>
76                <tr py:if="editLink"><td>
77                        <div id="$edID" class="hidden">
78                                        <form action="${editLink}" method="post">
79                                        <table>
80                                <tr><td>
81                                        ${Markup(h.text_area(name, value, class_="fullWidth", rows="9"))}
82                                </td></tr>
83                                <tr><td>
84                        ${Markup(h.submit('Update', **{'onclick': 'Div_show("loading");'}))}
85                    </td></tr>
86                                        </table>
87                                        </form>
88                        </div>
89                        </td></tr>
90        </table>
91    </div>
[4198]92
93       
[4204]94    <!--! hyperlinked image -->
[4198]95    <span py:def="linkimage(linkref,imageref,alttext)">
96        <a href="$linkref"><image src="$imageref" alt="$alttext" title="$alttext"/></a>
97    </span>
98   
[4204]99    <!--! Help Icons -->
[4598]100    <span py:def="helpIcon(value, elementType)">
[4198]101        <span>
[4598]102            <a href="javascript:;" title="Toggle help" onclick="toggleDiv(1,'$value','shown','hidden','$elementType'); return false;">
[4198]103            <img src="$g.helpIcon" alt="Toggle help" class="helpicon"/></a>
104     
105        </span>
106    </span>
107</html>
Note: See TracBrowser for help on using the repository browser.