/dev/adei-asec

To get this branch, use:
bzr branch http://darksoft.org/webbzr/dev/adei-asec

« back to all changes in this revision

Viewing changes to setups/katrin/xslt/katrin.xsl

  • Committer: Suren A. Chilingaryan
  • Date: 2014-01-25 16:38:03 UTC
  • Revision ID: csa@dside.dyndns.org-20140125163803-mhmpyk4dpzz7qabw
Detach setups

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0" encoding="utf-8"?>
2
 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3
 
<xsl:output encoding="utf-8"/>
4
 
 
5
 
<xsl:template match="streams">
6
 
    <xsl:for-each select="type">
7
 
        <xsl:variable name="title">
8
 
            <xsl:choose>
9
 
                <xsl:when test="@name=uw">UW</xsl:when>
10
 
                <xsl:when test="@name='ipe3_energy'">IPE3 Energy</xsl:when>
11
 
                <xsl:when test="@name='ipe3_waveform'">IPE3 Waveform</xsl:when>
12
 
                <xsl:when test="@name='ipe3_histogram'">IPE3 Histogram</xsl:when>
13
 
                <xsl:when test="@name='ipe4_energy'">IPE4 Energy</xsl:when>
14
 
                <xsl:when test="@name='ipe4_waveform'">IPE4 Waveform</xsl:when>
15
 
                <xsl:when test="@name='ipe4_histogram'">IPE4 Histogram</xsl:when>
16
 
            </xsl:choose>
17
 
        </xsl:variable>
18
 
        <xsl:element name="img">
19
 
            <xsl:attribute name="src">
20
 
                <xsl:text>setups/katrin/images/</xsl:text>
21
 
                <xsl:value-of select="@name" />
22
 
                <xsl:text>.png</xsl:text>
23
 
            </xsl:attribute>
24
 
            <xsl:attribute name="height">16</xsl:attribute>
25
 
            <xsl:attribute name="alt">
26
 
                <xsl:value-of select="$title" />
27
 
            </xsl:attribute>
28
 
            <xsl:attribute name="title">
29
 
                <xsl:value-of select="$title" />
30
 
            </xsl:attribute>
31
 
            <xsl:attribute name="style">
32
 
                <xsl:text>margin: 0 5px; vertical-align: middle</xsl:text>
33
 
            </xsl:attribute>
34
 
        </xsl:element>
35
 
    </xsl:for-each>
36
 
</xsl:template>
37
 
 
38
 
<!-- Helper template for page links in last runs view -->
39
 
<xsl:template name="page_link">
40
 
    <xsl:param name="page" />
41
 
    <xsl:param name="current" />
42
 
 
43
 
    <xsl:variable name="text">
44
 
        <xsl:text>[</xsl:text>
45
 
        <xsl:value-of select="$page" />
46
 
        <xsl:text>]</xsl:text>
47
 
    </xsl:variable>
48
 
 
49
 
    <xsl:if test="$page=$current">
50
 
        <xsl:value-of select="$text" />
51
 
    </xsl:if>
52
 
    <xsl:if test="not($page=$current)">
53
 
        <xsl:element name="a">
54
 
            <xsl:attribute name="href">
55
 
                <xsl:text>javascript:katrin.SetCustomProperties('kdb_page=</xsl:text>
56
 
                <xsl:value-of select="$page" />
57
 
                <xsl:text>')</xsl:text>
58
 
            </xsl:attribute>
59
 
            <xsl:value-of select="$text" />
60
 
        </xsl:element>
61
 
    </xsl:if>
62
 
</xsl:template>
63
 
 
64
 
<xsl:template name="navigation">
65
 
    <xsl:text>Page: </xsl:text>
66
 
    <xsl:call-template name="page_link">
67
 
        <xsl:with-param name="page" select="1" />
68
 
        <xsl:with-param name="current" select="@page" />
69
 
    </xsl:call-template>
70
 
    <xsl:if test="number(@page)&gt;3">
71
 
        <xsl:text> ... </xsl:text>
72
 
    </xsl:if>
73
 
    <xsl:if test="number(@page)&gt;2">
74
 
        <xsl:call-template name="page_link">
75
 
            <xsl:with-param name="page" select="number(@page)-1" />
76
 
            <xsl:with-param name="current" select="@page" />
77
 
        </xsl:call-template>
78
 
    </xsl:if>
79
 
    <xsl:if test="number(@page)&gt;1">
80
 
        <xsl:call-template name="page_link">
81
 
            <xsl:with-param name="page" select="@page" />
82
 
            <xsl:with-param name="current" select="@page" />
83
 
        </xsl:call-template>
84
 
    </xsl:if>
85
 
    <xsl:if test="number(@page)&lt;number(@pages)">
86
 
        <xsl:call-template name="page_link">
87
 
            <xsl:with-param name="page" select="number(@page)+1" />
88
 
            <xsl:with-param name="current" select="@page" />
89
 
        </xsl:call-template>
90
 
    </xsl:if>
91
 
    <xsl:if test="number(@page)&lt;number(@pages)-2">
92
 
        <xsl:text> ... </xsl:text>
93
 
    </xsl:if>
94
 
    <xsl:if test="number(@page)&lt;number(@pages)-1">
95
 
        <xsl:call-template name="page_link">
96
 
            <xsl:with-param name="page" select="@pages" />
97
 
            <xsl:with-param name="current" select="@page" />
98
 
        </xsl:call-template>
99
 
    </xsl:if>
100
 
</xsl:template>
101
 
 
102
 
<xsl:template match="status">
103
 
    <xsl:variable name="color">
104
 
        <xsl:choose>
105
 
            <xsl:when test=". = 'Ok'">
106
 
                <xsl:text>#008000</xsl:text>
107
 
            </xsl:when>
108
 
            <xsl:when test=". = 'Error'">
109
 
                <xsl:text>#800000</xsl:text>
110
 
            </xsl:when>
111
 
            <xsl:otherwise>
112
 
                <xsl:text>#000000</xsl:text>
113
 
            </xsl:otherwise>
114
 
        </xsl:choose>
115
 
    </xsl:variable>
116
 
 
117
 
    <xsl:element name="span">
118
 
        <xsl:attribute name="style">
119
 
            <xsl:text>font-weight: bold; color: </xsl:text>
120
 
            <xsl:value-of select="$color" />
121
 
        </xsl:attribute>
122
 
        <xsl:value-of select="." />
123
 
    </xsl:element>
124
 
</xsl:template>
125
 
 
126
 
<!-- Template for runs list in last runs view -->
127
 
<xsl:template match="runs">
128
 
    <table width="100%">
129
 
        <tr>
130
 
            <td style="text-align:left">
131
 
                <xsl:call-template name="navigation" />
132
 
            </td>
133
 
            <td style="text-align:right">
134
 
                <xsl:if test="string-length(@filter) > 0">
135
 
                    <a href="javascript:adei.OpenControl('filter')">
136
 
                        <xsl:text>Filter</xsl:text>
137
 
                    </a>
138
 
                    <xsl:text>: </xsl:text>
139
 
                    <span class="search">
140
 
                        <xsl:value-of select="@filter" />
141
 
                    </span>
142
 
                    <br />
143
 
                </xsl:if>
144
 
                <xsl:if test="string-length(@search) > 0">
145
 
                    <xsl:text>Search: "</xsl:text>
146
 
                    <span class="search">
147
 
                        <xsl:value-of select="@search" />
148
 
                    </span>
149
 
                    <xsl:text>" (</xsl:text>
150
 
                    <a href="javascript:katrin.SetCustomProperties('kdb_search=&amp;kdb_parameters=&amp;kdb_date=')">
151
 
                        <xsl:text>Clear</xsl:text>
152
 
                    </a>
153
 
                    <xsl:text>)</xsl:text>
154
 
                    <br />
155
 
                </xsl:if>
156
 
                <xsl:if test="string-length(@window) > 0">
157
 
                    <xsl:text>Selected time window (</xsl:text>
158
 
                    <a href="javascript:katrin.SetCustomProperties('kdb_window=&amp;kdb_date=')">
159
 
                        <xsl:text>Clear</xsl:text>
160
 
                    </a>
161
 
                    <xsl:text>)</xsl:text>
162
 
                </xsl:if>
163
 
            </td>
164
 
        </tr>
165
 
    </table>
166
 
    <xsl:if test="count(run) > 0">
167
 
        <table class="border" border="1" cellspacing="0" cellpadding="5" width="100%">
168
 
            <tr class="border">
169
 
                <th class="border overview">Identifier</th>
170
 
                <th class="border overview">Start (UTC)</th>
171
 
                <th class="border overview">Duration</th>
172
 
                <th class="border overview">Subruns</th>
173
 
                <th class="border overview">Data</th>
174
 
                <th class="border overview">Status</th>
175
 
                <th class="border" style="width:100%">Comment</th>
176
 
            </tr>
177
 
            <xsl:for-each select="run">
178
 
                <tr>
179
 
                    <td class="border overview">
180
 
                        <xsl:element name="a">
181
 
                            <xsl:attribute name="href">
182
 
                                <xsl:text>javascript:katrin.SetCustomProperties('kdb_run=</xsl:text>
183
 
                                <xsl:value-of select="identifier" />
184
 
                                <xsl:text>&amp;kdb_subruns=')</xsl:text>
185
 
                            </xsl:attribute>
186
 
                            <xsl:value-of select="identifier" />
187
 
                        </xsl:element>
188
 
                    </td>
189
 
                    <td class="border overview date">
190
 
                        <xsl:value-of select="start" />
191
 
                    </td>
192
 
                    <td class="border overview">
193
 
                        <xsl:value-of select="duration" />
194
 
                    </td>
195
 
                    <td class="border overview">
196
 
                        <xsl:value-of select="subruns" />
197
 
                    </td>
198
 
                    <td class="border overview">
199
 
                        <xsl:apply-templates select="streams" />
200
 
                    </td>
201
 
                    <td class="border overview">
202
 
                        <xsl:apply-templates select="status" />
203
 
                    </td>
204
 
                    <td class="border overview" style="text-align: left">
205
 
                        <xsl:value-of select="comment" />
206
 
                    </td>
207
 
                </tr>
208
 
            </xsl:for-each>
209
 
        </table>
210
 
    </xsl:if>
211
 
    <xsl:if test="count(run) = 0">
212
 
        <div>No runs found</div>
213
 
    </xsl:if>
214
 
    <table width="100%">
215
 
        <tr>
216
 
            <td style="text-align:left">
217
 
                <xsl:call-template name="navigation" />
218
 
            </td>
219
 
            <td style="text-align:right">
220
 
            </td>
221
 
        </tr>
222
 
    </table>
223
 
</xsl:template>
224
 
 
225
 
<xsl:template match="loading">
226
 
    <script type="text/javascript">
227
 
        adei.OpenControl('filter');
228
 
        filter.SetSearch('<xsl:value-of select="@search"/>', '<xsl:value-of select="@parameters"/>', '<xsl:value-of select="@window"/>');
229
 
    </script>
230
 
</xsl:template>
231
 
 
232
 
<xsl:template match="error">
233
 
    <h3>Invalid filter</h3>
234
 
    <p><xsl:value-of select="." /></p>
235
 
</xsl:template>
236
 
 
237
 
<xsl:template match="help">
238
 
    <script type="text/javascript">
239
 
        filter.FocusParameters();
240
 
    </script>
241
 
    <xsl:apply-templates select="error" />
242
 
    <h3>Filter Description</h3>
243
 
    <p>The run list can be filtered by defining a filter with predefined
244
 
        parameters.</p>
245
 
    <p>The general filter format is:</p>
246
 
    <p class="code">parameter OP value[, parameter OP value, ...]</p>
247
 
    <ul>
248
 
        <li>
249
 
            <span class="variable">OP</span> can be one of &lt;, &lt;=, =,
250
 
            &gt;= or &gt;
251
 
        </li>
252
 
        <li>
253
 
            <span class="variable">value</span> is a numeric value, scientific
254
 
            notation is allowed
255
 
        </li>
256
 
        <li>
257
 
            <span class="variable">parameter</span> is a predefined parameter
258
 
            name. Currently the following parameters are defined:
259
 
            <div style="padding=5px">
260
 
                <table class="border" border="1">
261
 
                    <tr class="border">
262
 
                        <th class="border">Parameter</th>
263
 
                        <th class="border">Description</th>
264
 
                    </tr>
265
 
                    <xsl:for-each select="parameter">
266
 
                        <tr class="border">
267
 
                            <td class="border">
268
 
                                <xsl:value-of select="name" />
269
 
                            </td>
270
 
                            <td class="border">
271
 
                                <xsl:value-of select="description" />
272
 
                            </td>
273
 
                        </tr>
274
 
                    </xsl:for-each>
275
 
                </table>
276
 
            </div>
277
 
        </li>
278
 
    </ul>
279
 
    <p>If more than one filter is specified they are combined using an AND
280
 
    operation.</p>
281
 
</xsl:template>
282
 
 
283
 
<xsl:template match="/result">
284
 
    <div style="margin: 10px">
285
 
        <xsl:choose>
286
 
            <xsl:when test="Error">
287
 
                <h2>Error</h2>
288
 
                <xsl:value-of select="Error" />
289
 
            </xsl:when>
290
 
            <xsl:when test="runs">
291
 
                <xsl:apply-templates select="runs" />
292
 
            </xsl:when>
293
 
            <xsl:when test="loading">
294
 
                <xsl:apply-templates select="loading" />
295
 
            </xsl:when>
296
 
            <xsl:when test="help">
297
 
                <xsl:apply-templates select="help" />
298
 
            </xsl:when>
299
 
        </xsl:choose>
300
 
    </div>
301
 
</xsl:template>
302
 
</xsl:stylesheet>