source: trunk/grails-app/views/advancedQuery/assayresults.gsp @ 1548

Last change on this file since 1548 was 1548, checked in by robert@…, 11 years ago

Preparation for using a simple wizard: some changes in tag libraries in order to make them more generic

File size: 3.0 KB
Line 
1<html>
2<head>
3        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
4        <meta name="layout" content="main"/>
5        <title>Query results</title>
6        <link rel="stylesheet" href="<g:resource dir="css" file="advancedQuery.css" />" type="text/css"/>
7        <link rel="stylesheet" href="<g:resource dir="css" file="buttons.css" />" type="text/css"/>
8        <g:javascript src="advancedQueryResults.js" />
9</head>
10<body>
11
12<h1>Query results</h1>
13
14<div class="searchoptions">
15        ${search.getNumResults()} <g:if test="${search.getNumResults() == 1}">assay</g:if><g:else>assays</g:else> found
16        <g:render template="criteria" model="[criteria: search.getCriteria()]" />
17</div>
18<g:if test="${search.getNumResults() > 0}">
19        <%
20                def resultFields = search.getShowableResultFields();
21                def extraFields = search.getShowableResultFieldNames(resultFields);
22        %>
23        <table id="searchresults" class="paginate">
24                <thead>
25                <tr>
26                        <th class="nonsortable"><input type="checkbox" id="checkAll" onClick="checkAllPaginated(this);" /></th>                 
27                        <th>Name</th>
28                        <th>Study</th>
29                        <g:each in="${extraFields}" var="fieldName">
30                                <th>${fieldName}</th>
31                        </g:each>
32                </tr>
33                </thead>
34                <tbody>
35                <g:each in="${search.getResults()}" var="assayInstance" status="i">
36                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
37                                <td width="3%">
38                                        <% /*
39                                                The value of this checkbox will be moved to the form (under this table) with javascript. This
40                                                way the user can select items from multiple pages of the paginated result list correctly. See
41                                                also http://datatables.net/examples/api/form.html and advancedQueryResults.js
42                                        */ %>
43                                        <g:checkBox name="id" value="${assayInstance.id}" checked="${false}" onClick="updateCheckAll(this);" />
44                                </td>
45                                <td>
46                                        <g:if test="${assayInstance.module.openInFrame == null || assayInstance.module.openInFrame == Boolean.TRUE}">
47                                  <jumpbar:link frameSource="${assayInstance.module.url}/assay/showByToken/${assayInstance.giveUUID()}" pageTitle="${assayInstance.module.name}">
48                                                ${fieldValue(bean: assayInstance, field: "name")}
49                                          </jumpbar:link>
50                                         </g:if>
51                                         <g:else>
52                                                <g:link url="${assayInstance.module.url}/assay/showByToken/${assayInstance.giveUUID()}">
53                                                ${fieldValue(bean: assayInstance, field: "name")}
54                                                </g:link>
55                                         </g:else>
56                                </td>
57                                <td><g:link controller="study" action="show" id="${assayInstance?.parent?.id}">${assayInstance?.parent?.title}</g:link></td>
58                                <g:each in="${extraFields}" var="fieldName">
59                                        <td>
60                                                <%
61                                                        def fieldValue = resultFields[ assayInstance.id ]?.get( fieldName );
62                                                        if( fieldValue ) {
63                                                                if( fieldValue instanceof Collection ) {
64                                                                        fieldValue = fieldValue.collect { it.toString() }.findAll { it }.unique().join( ', ' );
65                                                                } else {
66                                                                        fieldValue = fieldValue.toString();
67                                                                }
68                                                        } else {
69                                                                fieldValue = "";
70                                                        }
71                                                %>
72                                                ${fieldValue}
73                                        </td>
74                                </g:each>
75                        </tr>
76                </g:each>
77                </tbody>
78        </table>
79        <g:render template="resultsform" />
80
81</g:if>
82<g:render template="resultbuttons" model="[queryId: queryId]" />
83</body>
84</html>
Note: See TracBrowser for help on using the repository browser.