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

Last change on this file since 563 was 498, checked in by gav, 15 years ago

Improved table row onclick implementation for all detailed list and search views.

File size: 7.8 KB
Line 
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"/>
9        <filterpane:includes />
10        <export:resource />
11    </head>
12    <body>
13        <div class="nav">
14            <nav:renderSubItems group="nav"/>
15        </div>
16        <div class="body">
17            <g:render template="/shared/messages" />
18
19            <filterpane:currentCriteria domainBean="Asset"
20                                    action="search"
21                                    dateFormat="EEE, dd-MMM-yyyy"
22                                    removeImgDir="images"
23                                    removeImgFile="bullet_delete.png"
24                                    title="Search"/>
25
26            <div class="paginateButtons">
27                Results: ${assetInstanceList.size()} / ${assetInstanceTotal}
28                <span class="searchButtons">
29                    <filterpane:filterButton text="Search" appliedText="Change Search" />
30                </span>
31            </div>
32
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}">
89                <g:if test="${assetInstanceTotal > assetInstanceList.size()}">
90                    <div class="paginateButtons">
91                        <g:paginate total="${assetInstanceTotal}" params="${filterParams}" />
92                    </div>
93                </g:if>
94            </g:if>
95
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}" />
103
104                                <g:sortableColumn property="name" title="Name" params="${filterParams}" />
105                           
106                                <g:sortableColumn property="description" title="Description" params="${filterParams}" />
107
108                                <g:sortableColumn property="isActive" title="Is Active" params="${filterParams}" />
109                           
110                                <g:sortableColumn property="section" title="Section" params="${filterParams}" />
111
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'}"/>
119                           
120                                <td onclick='window.location = "${request.getContextPath()}/assetDetailed/show/${assetInstance.id}"'>
121                                    ${fieldValue(bean:assetInstance, field:'id')}
122                                </td>
123
124                                <td onclick='window.location = "${request.getContextPath()}/assetDetailed/show/${assetInstance.id}"'>
125                                    ${fieldValue(bean:assetInstance, field:'name')}
126                                </td>
127
128                                <td onclick='window.location = "${request.getContextPath()}/assetDetailed/show/${assetInstance.id}"'>
129                                    ${fieldValue(bean:assetInstance, field:'description')}
130                                </td>
131
132                                <td onclick='window.location = "${request.getContextPath()}/assetDetailed/show/${assetInstance.id}"'>
133                                    ${fieldValue(bean:assetInstance, field:'isActive')}
134                                </td>
135
136                                <td onclick='window.location = "${request.getContextPath()}/assetDetailed/show/${assetInstance.id}"'>
137                                    ${fieldValue(bean:assetInstance, field:'section')}
138                                </td>
139
140                                <td class="notClickable">
141                                    <g:link action="show" id="${assetInstance.id}">
142                                        <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
143                                    </g:link>
144                                </td>
145                           
146                            </tr>
147                        </g:each>
148                        </tbody>
149                    </table>
150                </div>
151            </g:if>
152            <div class="paginateButtons">
153                <g:paginate total="${assetInstanceTotal}" params="${filterParams}" />
154            </div>
155
156            <filterpane:filterPane domainBean="Asset"
157                                    title="Search"
158                                    action="search"
159                                    class="overlayPane"
160                                    excludeProperties=""
161                                    associatedProperties="section.name"
162                                    filterPropertyValues="${['section.name':[values:Section.list()] ]}" />
163        </div> <!-- end body div -->
164    </body>
165</html>
Note: See TracBrowser for help on using the repository browser.