root/trunk/grails-app/views/advancedQuery/results.gsp @ 1512

Revision 1512, 2.1 KB (checked in by robert@…, 3 years ago)

Improved query views

  • Property svn:keywords set to Rev Author Date
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        <g:javascript src="advancedQueryResults.js" />
8</head>
9<body>
10
11<h1>Query results</h1>
12
13<div class="searchoptions">
14        ${search.getNumResults()} <g:if test="${search.getNumResults() == 1}">result</g:if><g:else>results</g:else> found with
15        <g:render template="criteria" model="[criteria: search.getCriteria()]" />
16</div>
17<g:if test="${search.getNumResults() > 0}">
18        <%
19                def resultFields = search.getShowableResultFields();
20                def extraFields = resultFields[ search.getResults()[ 0 ].id ]?.keySet();
21        %>
22        <table id="searchresults" class="paginate">
23                <thead>
24                        <tr>
25                                <th class="nonsortable"></th>
26                                <th>Type</th>
27                                <th>Id</th>
28                                <g:each in="${extraFields}" var="fieldName">
29                                        <th>${fieldName}</th>
30                                </g:each>
31                        </tr>
32                </thead>
33                <g:each in="${search.getResults()}" var="result">
34                        <tr>
35                                <td width="3%">
36                                        <% /*
37                                                The value of this checkbox will be moved to the form (under this table) with javascript. This
38                                                way the user can select items from multiple pages of the paginated result list correctly. See
39                                                also http://datatables.net/examples/api/form.html and advancedQueryResults.js
40                                        */ %>
41                                        <g:checkBox name="id" value="${result.id}" checked="${false}" />
42                                </td>                   
43                                <td>${search.entity}</td>
44                                <td>${result.id}</td>
45                                <g:each in="${extraFields}" var="fieldName">
46                                        <td>
47                                                <%
48                                                        def fieldValue = resultFields[ result.id ]?.get( fieldName );
49                                                        if( fieldValue ) {
50                                                                if( fieldValue instanceof Collection ) {
51                                                                        fieldValue = fieldValue.collect { it.toString() }.findAll { it }.join( ', ' );
52                                                                } else {
53                                                                        fieldValue = fieldValue.toString();
54                                                                }
55                                                        } else {
56                                                                fieldValue = "";
57                                                        }
58                                                %>
59                                                ${fieldValue}
60                                        </td>
61                                </g:each>
62
63                        </tr>
64                </g:each>
65        </table>
66</g:if>
67<g:render template="resultbuttons" model="[queryId: queryId]" />
68
69</body>
70</html>
Note: See TracBrowser for help on using the browser.