source: trunk/grails-app/views/person/list.gsp @ 480

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

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

File size: 5.0 KB
RevLine 
[59]1<head>
[147]2    <meta name="layout" content="main" />
3    <title>Person List</title>
4    <filterpane:includes />
5    <nav:resources override="true"/>
[59]6</head>
7
8<body>
9
[147]10    <div class="nav">
11        <nav:renderSubItems group="navAlt"/>
12    </div>
[59]13
[147]14    <div class="body">
15        <g:if test="${flash.message}">
16        <div class="message">${flash.message}</div>
17        </g:if>
18        <filterpane:currentCriteria domainBean="Person"
19                                action="list"
[450]20                                dateFormat="EEE, dd-MMM-yyyy"
[147]21                                removeImgDir="images"
22                                removeImgFile="bullet_delete.png"
23                                title="Search"/>
[155]24
25        <div class="paginateButtons">
[467]26            Results: ${personList.size()} / ${personTotal}
[221]27            <span class="searchButtons">
28                <filterpane:filterButton text="Search" appliedText="Change Search" />
29            </span>
[155]30        </div>
31
[440]32        <jsUtil:toggleControl toggleId="options"
33                                                imageId="optionsImg"
34                                                closedImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_right.png')}"
35                                                openImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_down.png')}"
36                                                text="${g.message(code: 'default.options.text')}"
37                                                />
38
39        <div id="options" style="display:none;">
40            <g:form method="post" >
41                <g:hiddenField name="params" value="${filterParams}" />
42                <div class="dialog">
43                    <table>
44                        <tbody>
45
46                            <tr class="prop">
47                                <td valign="top" class="name">
48                                    <label for="max">Persons:</label>
49                                </td>
50                                <td valign="top" class="value">
51                                    <g:link action="exportPersonsTemplate">
52                                        Template
53                                    </g:link>
54                                    /
55                                    <g:link action="importPersons">
56                                        Import
57                                    </g:link>
58                                </td>
59                            </tr>
60
61                        </tbody>
62                    </table>
63                </div>
64            </g:form>
65        </div>
66
67        <br />
68
[467]69        <g:if test="${personList.size() > 0}">
70            <div class="list">
71                <table>
72                <thead>
73                    <tr>
74                        <g:sortableColumn property="id" title="Id" params="${filterParams}" />
75                        <g:sortableColumn property="loginName" title="Login Name" params="${filterParams}" />
76                        <g:sortableColumn property="firstName" title="First Name" params="${filterParams}" />
77                        <g:sortableColumn property="lastName" title="Last Name" params="${filterParams}" />
78                        <g:sortableColumn property="isActive" title="Active" params="${filterParams}" />
79                        <th></th>
80                    </tr>
81                </thead>
82                <tbody>
83                <g:each in="${personList}" status="i" var="person">
84                    <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/person/show/${person.id}"'/>
[147]85
[467]86                        <td>${person.id}</td>
87                        <td>${person.loginName?.encodeAsHTML()}</td>
88                        <td>${person.firstName?.encodeAsHTML()}</td>
89                        <td>${person.lastName?.encodeAsHTML()}</td>
90                        <td>${person.isActive?.encodeAsHTML()}</td>
91                        <td>
92                            <g:link action="show" id="${person.id}">
93                                <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
94                            </g:link>
95                        </td>
96                    </tr>
97                </g:each>
98                </tbody>
99                </table>
100            </div>
101        </g:if>
[59]102
[147]103        <div class="paginateButtons">
104            <g:paginate total="${personTotal}" params="${filterParams}" />
105        </div>
[59]106
[147]107        <filterpane:filterPane domainBean="Person"
108                                title="Search"
109                                action="list"
[155]110                                class="overlayPane"
[399]111                                excludeProperties="password, sessionTimeout"
[147]112                                associatedProperties="authorities.authority, personGroups.name"
113                                    filterPropertyValues="${['personGroups.name':[values:PersonGroup.list()],
114                                                                                'authorities.authority':[values:Authority.list()]]}" />
115
116
[156]117    </div> <!-- end body div -->
[59]118</body>
Note: See TracBrowser for help on using the repository browser.