source: trunk/grails-app/views/assetDetailed/search.gsp @ 492

Last change on this file since 492 was 467, checked in by gav, 15 years ago

Only show table headers in search views if there actually are results.

File size: 7.1 KB
RevLine 
[139]1
2
3<html>
4    <head>
5        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
6        <meta name="layout" content="main" />
7        <title>Asset Search</title>
8        <nav:resources override="true"/>
[156]9        <filterpane:includes />
[271]10        <export:resource />
[139]11    </head>
12    <body>
13        <div class="nav">
14            <nav:renderSubItems group="nav"/>
15        </div>
16        <div class="body">
[284]17            <g:render template="/shared/messages" />
18
[156]19            <filterpane:currentCriteria domainBean="Asset"
20                                    action="search"
[450]21                                    dateFormat="EEE, dd-MMM-yyyy"
[156]22                                    removeImgDir="images"
23                                    removeImgFile="bullet_delete.png"
24                                    title="Search"/>
25
26            <div class="paginateButtons">
[326]27                Results: ${assetInstanceList.size()} / ${assetInstanceTotal}
[221]28                <span class="searchButtons">
29                    <filterpane:filterButton text="Search" appliedText="Change Search" />
30                </span>
[156]31            </div>
32
[326]33            <jsUtil:toggleControl toggleId="options"
34                                                    imageId="optionsImg"
35                                                    closedImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_right.png')}"
36                                                    openImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_down.png')}"
37                                                    text="${g.message(code: 'default.options.text')}"
38                                                    />
39
40            <div id="options" style="display:none;">
41                <g:form method="post" >
42                    <g:hiddenField name="params" value="${filterParams}" />
43                    <div class="dialog">
44                        <table>
45                            <tbody>
46
47                                <tr class="prop">
48                                    <td valign="top" class="name">
49                                        <label for="max">Results per page:</label>
50                                    </td>
51                                    <td valign="top" class="value">
52                                        <input type="text" maxlength="4" id="description" name="newMax" value="${params.max}"/>
53
54                                        <span class="buttons">
55                                            <g:actionSubmit action="setSearchParamsMax" class="go" value="Update" />
56                                        </span>
57                                    </td>
58                                </tr>
59
60                                <tr class="prop">
61                                    <td valign="top" class="name">
62                                        <label for="max">Asset Tree:</label>
63                                    </td>
64                                    <td valign="top" class="value">
65                                        <g:link action="exportAssetTree">
66                                            Export
67                                        </g:link>
68                                        /
69                                        <g:link action="exportAssetTreeTemplate">
70                                            Template
71                                        </g:link>
72                                        /
73                                        <g:link action="importAssetTree">
74                                            Import
75                                        </g:link>
76                                    </td>
77                                </tr>
78
79                            </tbody>
80                        </table>
81                    </div>
82                </g:form>
83                <export:formats  params="${filterParams}" formats="['csv', 'excel', 'pdf', 'rtf']"/>
84            </div>
85
86            <br />
87
88            <g:if test="${assetInstanceList.size() > 10}">
[356]89                <g:if test="${assetInstanceTotal > assetInstanceList.size()}">
90                    <div class="paginateButtons">
91                        <g:paginate total="${assetInstanceTotal}" params="${filterParams}" />
92                    </div>
93                </g:if>
[326]94            </g:if>
95
[467]96            <g:if test="${assetInstanceList.size() > 0}">
97                <div class="list">
98                    <table>
99                        <thead>
100                            <tr>
101                           
102                                <g:sortableColumn property="id" title="Id" params="${filterParams}" />
[139]103
[467]104                                <g:sortableColumn property="name" title="Name" params="${filterParams}" />
105                           
106                                <g:sortableColumn property="description" title="Description" params="${filterParams}" />
[139]107
[467]108                                <g:sortableColumn property="isActive" title="Is Active" params="${filterParams}" />
109                           
110                                <g:sortableColumn property="section" title="Section" params="${filterParams}" />
[139]111
[467]112                                <th></th>
113                           
114                            </tr>
115                        </thead>
116                        <tbody>
117                        <g:each in="${assetInstanceList}" status="i" var="assetInstance">
118                            <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/assetDetailed/show/${assetInstance.id}"'/>
119                           
120                                <td>${fieldValue(bean:assetInstance, field:'id')}</td>
[139]121
[467]122                                <td>${fieldValue(bean:assetInstance, field:'name')}</td>
[139]123
[467]124                                <td>${fieldValue(bean:assetInstance, field:'description')}</td>
[139]125
[467]126                                <td>${fieldValue(bean:assetInstance, field:'isActive')}</td>
[139]127
[467]128                                <td>${fieldValue(bean:assetInstance, field:'section')}</td>
[271]129
[467]130                                <td>
131                                    <g:link action="show" id="${assetInstance.id}">
132                                        <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
133                                    </g:link>
134                                </td>
135                           
136                            </tr>
137                        </g:each>
138                        </tbody>
139                    </table>
140                </div>
141            </g:if>
[139]142            <div class="paginateButtons">
[156]143                <g:paginate total="${assetInstanceTotal}" params="${filterParams}" />
[139]144            </div>
[156]145
146            <filterpane:filterPane domainBean="Asset"
147                                    title="Search"
148                                    action="search"
149                                    class="overlayPane"
150                                    excludeProperties=""
[271]151                                    associatedProperties="section.name"
152                                    filterPropertyValues="${['section.name':[values:Section.list()] ]}" />
[156]153        </div> <!-- end body div -->
[139]154    </body>
155</html>
Note: See TracBrowser for help on using the repository browser.