source: trunk/grails-app/views/taskDetailed/search.gsp @ 155

Last change on this file since 155 was 155, checked in by gav, 14 years ago

Work on Task searching.
Add calendar view for Tasks.
Cleaner look for search and paginate buttons.
OverlayPane? css and javascript to fix filterPane width on smaller screens and for quick search panes.

File size: 7.9 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>Task Search</title>
6        <filterpane:includes />
7        <g:javascript src="overlayPane.js" />
8        <nav:resources override="true"/>
9    </head>
10    <body>
11        <div class="nav">
12            <nav:renderSubItems group="nav"/>
13        </div>
14
15        <div class="body">
16            <g:if test="${flash.message}">
17                <div class="message">${flash.message}</div>
18            </g:if>
19            <g:if test="${params.message}">
20                <div class="message">${params.message}</div>
21            </g:if>
22            <g:hasErrors bean="${appCore}">
23                <div class="errors">
24                    <g:renderErrors bean="${appCore}" as="list" />
25                </div>
26            </g:hasErrors>
27            <filterpane:currentCriteria domainBean="Task"
28                                    action="search"
29                                    dateFormat="${'EEE, dd-MMM-yyyy'}"
30                                    removeImgDir="images"
31                                    removeImgFile="bullet_delete.png"
32                                    title="Advanced Search"/>
33
34            <div class="paginateButtons">
35                <a href='' onclick="showElement('searchPane'); return false;">Quick</a>
36                Results:${taskInstanceTotal}
37                <filterpane:filterButton text="Advanced" appliedText="Advanced" />
38            </div>
39
40            <div class="list">
41                <table>
42                    <thead>
43                        <tr>
44
45                            <g:sortableColumn property="id" title="Id" params="${filterParams}" />
46
47                            <g:sortableColumn property="targetStartDate" title="Target Start Date" params="${filterParams}" />
48
49                            <g:sortableColumn property="description" title="Description" params="${filterParams}" />
50
51                            <g:sortableColumn  property="leadPerson" title="Lead Person" params="${filterParams}" />
52
53                            <g:sortableColumn  property="taskPriority" title="Task Priority" params="${filterParams}" />
54
55                            <g:sortableColumn  property="taskStatus" title="Task Status" params="${filterParams}" />
56
57                            <th></th>
58
59                        </tr>
60                    </thead>
61                    <tbody>
62                    <g:each in="${taskInstanceList}" status="i" var="taskInstance">
63                    <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'/>
64
65                            <td>${fieldValue(bean:taskInstance, field:'id')}</td>
66
67                            <td><g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/></td>
68
69                            <td>${fieldValue(bean:taskInstance, field:'description')}</td>
70
71                            <td>${fieldValue(bean:taskInstance, field:'leadPerson')}</td>
72
73                            <td>${fieldValue(bean:taskInstance, field:'taskPriority')}</td>
74
75                            <td>${fieldValue(bean:taskInstance, field:'taskStatus')}</td>
76
77                            <td>
78                                <g:link action="show" id="${taskInstance.id}">
79                                    <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
80                                </g:link>
81                            </td>
82
83                        </tr>
84                    </g:each>
85                    </tbody>
86                </table>
87            </div>
88            <div class="paginateButtons">
89                <g:paginate total="${taskInstanceTotal}" params="${filterParams}" />
90            </div>
91
92            <filterpane:filterPane domainBean="Task"
93                                    title="Advanced Search"
94                                    action="search"
95                                    class="overlayPane"
96                                    additionalProperties="id"
97                                    associatedProperties="leadPerson.lastName, taskGroup.name, taskPriority.name"
98                                    filterPropertyValues="${['taskPriority.name':[values:TaskPriority.list()],
99                                                                                'leadPerson.lastName':[values:Person.executeQuery('select t.lastName from Person t')],
100                                                                                'taskGroup.name':[values:TaskGroup.list()],
101                                                                                targetCompletionDate:[years:2020..2000,precision:'day'],
102                                                                                targetStartDate:[years:2020..2000,precision:'day']]}"/>
103        </div> <!-- end body  -->
104
105        <!-- Start Search Pane -->
106        <div class="overlayPane" id="searchPane" style="display:none;">
107            <h2>Quick Search</h2>
108            <g:form method="post" id="searchForm" name="searchForm" >
109                <table>
110                    <tbody>
111
112                        <tr class="prop">
113                            <td valign="top" class="name">
114                                <label>My Tasks:</label>
115                            </td>
116                            <td valign="top" class="value">
117                                <g:link controller="taskDetailed"
118                                                action="search"
119                                                params="[quickSearch: 'searchMyTodays']">
120                                                Today's
121                                </g:link>
122                                <br />
123                                <g:link controller="taskDetailed"
124                                                action="search"
125                                                params="[quickSearch: 'searchMyInTheLastWeek']">
126                                                In the last week
127                                </g:link>
128                            </td>
129                        </tr>
130
131                        <tr class="prop">
132                            <td valign="top" class="name">
133                                <label>Tasks:</label>
134                            </td>
135                            <td valign="top" class="value">
136                                <g:link controller="taskDetailed"
137                                                action="search"
138                                                params="[quickSearch: 'searchTodays']">
139                                                Today's
140                                </g:link>
141                                <br />
142                                <g:link controller="taskDetailed"
143                                                action="search"
144                                                params="[quickSearch: 'searchInTheLastWeek']">
145                                                In the last week
146                                </g:link>
147                            </td>
148                        </tr>
149
150                    </tbody>
151                </table>
152                <div class="buttons">
153                    <span class="button">
154                        <input type="button" value="${g.message(code:'fp.tag.filterPane.button.cancel.text', default:'Cancel')}" onclick="return hideElement('searchPane');" />
155                    </span>
156<!--                    <span class="button">
157                        <input type="button" value="${g.message(code:'fp.tag.filterPane.button.clear.text', default:'Clear')}" onclick="return clearFilterPane('searchForm');" />
158                    </span>
159                    <span class="button">
160                        <g:actionSubmit class="search" value="Search" />
161                    </span>-->
162                </div>
163            </g:form>
164        </div> <!-- end search pane -->
165
166    </body>
167</html>
Note: See TracBrowser for help on using the repository browser.