Salome HOME
Copyrights update 2015.
[tools/siman.git] / Workspace / Siman / WebContent / study / searchStudy.jsp
1 <%@page language="java" contentType="text/html; charset=ISO-8859-1"
2         pageEncoding="ISO-8859-1"%>
3 <%@taglib prefix="s" uri="/struts-tags"%>
4 <!-- Initialization of the context
5      ===========================================================================
6   -->
7 <script language="JavaScript" type="text/javascript"
8         src="../js/search.js"></script>
9
10 <script>
11 $(document).ready(function () {
12     initialize('<s:property value="resultState"/>');
13     // Apply jQueryUI datepicker to appropriate input fields
14     $(".dateinput").datepicker({
15         dateFormat: "<s:text name="date.format"/>".replace("MM","mm").replace("yyyy","yy")
16     });
17 });
18 </script>
19
20 <!-- Search criteria section
21      ===========================================================================
22   -->
23 <div id="article-box">
24 <div id="section"><s:text name="title.criteria" /></div>
25 <div id="article-body">
26 <form name="search" action="refresh-study" method="post"><input
27         type="hidden" name="contextIndex" />
28
29 <table width="100%" cellpadding="0" cellspacing="0" border="0"
30         class="text">
31         <tr height="20">
32                 <td width="40%"><b><s:text name="field.among" /></b>&nbsp;&nbsp;&nbsp;
33                 <s:radio theme="simple" list="matchOptions" name="filter.criteriaMatch"
34                         onclick="changeFilter()" /></td>
35                 <td width="60%">|&nbsp;&nbsp; <b><s:text name="field.context" /></b>&nbsp;&nbsp;&nbsp;
36                 <s:radio theme="simple" list="matchOptions" name="filter.contextMatch"
37                         onclick="changeFilter()" /></td>
38         </tr>
39         <tr height="1" bgcolor="#AAAAAA">
40                 <td colspan="2"></td>
41         </tr>
42 </table>
43
44 <table width="100%" cellpadding="0" cellspacing="0" border="0"
45         class="text">
46         <tr valign="top">
47                 <td width="40%">
48                 <table cellpadding="0" cellspacing="0" border="0" class="text">
49                         <tr>
50                                 <td colspan="2"><s:text name="criterion.study" />&nbsp;</td>
51                                 <td colspan="3" align="center"><s:select name="filter.state"
52                                         list="stateOptions" theme="simple"
53                                         cssStyle="width: %{getText('size.search.select')}" onchange="changeFilter()" />
54                                 </td>
55                         </tr>
56                         <tr>
57                                 <td colspan="2"><s:text name="criterion.author" />&nbsp;</td>
58                                 <td colspan="3" align="center"><select name="filter.author"
59                                         style='width: <s:text name="size.search.select" />' onChange="changeFilter()">
60                                         <option value="0"><s:text name="criterion.anybody" /></option>
61                                         <s:iterator value="candidates">
62                                                 <s:if test="%{index == filter.author}">
63                                                         <option value="<s:property value="index"/>" selected><s:property
64                                                                 value="toString()" /></option>
65                                                 </s:if>
66                                                 <s:else>
67                                                         <option value="<s:property value="index"/>"><s:property
68                                                                 value="toString()" /></option>
69                                                 </s:else>
70                                         </s:iterator>
71                                 </select></td>
72                         </tr>
73                         <tr>
74                                 <s:set var="tipdate">
75                                         <s:text name="help.search.date">
76                                                 <s:param>
77                                                         <s:text name="%{format}" />
78                                                 </s:param>
79                                                 <s:param>
80                                                         <s:text name="%{today}" />
81                                                 </s:param>
82                                         </s:text>
83                                 </s:set>
84                                 <td><s:text name="field.credate" />&nbsp;</td>
85                                 <td><s:text name="field.after" />&nbsp;</td>
86                                 <td><s:textfield theme="simple" cssClass="dateinput"
87                                         onchange="changeFilter()" name="filter.createdAfter" size="7"
88                                         onkeydown="changeFilter()" title="%{#tipdate}" />&nbsp;</td>
89                                 <td><s:text name="field.before" />&nbsp;</td>
90                                 <td><s:textfield theme="simple" cssClass="dateinput" onchange="changeFilter()"
91                                         name="filter.createdBefore" size="7" onkeydown="changeFilter()"
92                                         title="%{#tipdate}" /></td>
93                         </tr>
94                         <tr>
95                                 <td><s:text name="field.lasdate" />&nbsp;</td>
96                                 <td><s:text name="field.after" />&nbsp;</td>
97                                 <td><s:textfield theme="simple" cssClass="dateinput"
98                                         onchange="changeFilter()" name="filter.updatedAfter" size="7"
99                                         onkeydown="changeFilter()" title="%{#tipdate}" />&nbsp;</td>
100                                 <td><s:text name="field.before" />&nbsp;</td>
101                                 <td><s:textfield theme="simple" cssClass="dateinput"
102                                         onchange="changeFilter()" name="filter.updatedBefore" size="7"
103                                         onkeydown="changeFilter()" title="%{#tipdate}" /></td>
104                         </tr>
105                 </table>
106                 <table cellpadding="0" cellspacing="0" border="0" class="text">
107                         <tr>
108                                 <td><s:text name="field.contain" />:&nbsp;</td>
109                                 <td><s:textfield theme="simple" name="filter.words" size="%{getText(size.search.input)}"
110                                         onkeydown="changeFilter()"
111                                         title="%{getText(help.search.title)}" /></td>
112                         </tr>
113                         <tr>
114                                 <td><s:text name="field.reference" />:&nbsp;</td>
115                                 <td><s:textfield theme="simple" name="filter.reference"
116                                         size="%{getText(size.search.input)}"
117                                         onkeydown="changeFilter()"
118                                         title="%{getText(help.search.refid)}" /></td>
119                         </tr>
120                 </table>
121                 </td>
122                 <td width="60%">
123                 <table cellpadding="0" cellspacing="0" border="0" class="text">
124                         <s:iterator value="filter.simContexts">
125                                 <tr>
126                                         <td><input type="checkbox" checked
127                                                 onClick="removeContext('<s:property value="index"/>')">&nbsp;</td>
128                                         <td><s:if test="%{type.isApproved()}">
129                                                 <s:text name="type.context.%{type.name}" />:&nbsp;</s:if> <s:else>
130                                                 <s:property value="%{type.name}" />:&nbsp;</s:else></td>
131                                         <td><s:property value="value" /></td>
132                                 </tr>
133                         </s:iterator>
134
135                         <s:if test="%{actionType == 'setContext'}">
136                                 <tr>
137                                         <td><img src="<s:url value="/skin/icon.undo.png"/>"
138                                                 border="none" title="<s:text name="tooltip.cancel"/>"
139                                                 onClick="cancel()" />&nbsp;</td>
140                                         <td><s:if test="%{selectedContextType.isApproved()}">
141                                                 <s:text name="type.context.%{selectedContextType.name}" />:&nbsp;</s:if>
142                                         <s:else>
143                                                 <s:property value="%{selectedContextType.name}" />:&nbsp;</s:else></td>
144                                         <td><select name="contextValue" onChange="submit()">
145                                                 <option value="-1"><s:text name="menu.select" /></option>
146                                                 <s:iterator value="contextValueOptions">
147                                                         <option value="<s:property value="index"/>">&nbsp;<s:property
148                                                                 value="value" /></option>
149                                                 </s:iterator>
150                                         </select></td>
151                                 </tr>
152                         </s:if>
153                 </table>
154
155                 <s:if test="%{actionType != 'setContext'}">
156                         <select name="contextType" onChange="submit()">
157                                 <option value="-1"><s:text name="menu.addcontext" /></option>
158                                 <s:iterator value="contextTypeOptions">
159                                         <option value="<s:property value="index"/>"><s:if
160                                                 test="%{isApproved()}">&nbsp;<s:text
161                                                         name="type.context.%{name}" />
162                                         </s:if> <s:else>&nbsp;<s:property value="%{name}" />
163                                         </s:else></option>
164                                 </s:iterator>
165                         </select>
166                 </s:if></td>
167         </tr>
168 </table>
169
170 <table width="100%" cellpadding="0" cellspacing="0" border="0"
171         class="text">
172         <tr>
173                 <td width="40%"></td>
174                 <td width="60%" align="left"><input type="submit" name="refresh"
175                         value="<s:text name="button.result"/>" disabled /></td>
176         </tr>
177 </table>
178
179 </form>
180 </div>
181 </div>
182
183 <!-- Result list
184      ===========================================================================
185   -->
186 <div id="resulist">
187 <div id="article-box">
188 <div id="section"><s:text name="title.result" /></div>
189 <div id="article-body" class="text"><s:if test="result.size > 0">
190         <table width="100%" cellpadding="0" cellspacing="0" border="0"
191                 class="text">
192                 <tr height="20" valign="bottom">
193                         <td width="20"></td>
194         
195             <s:if test="#session.isDescendingOrder">
196               <s:url var="arrowURL" value="/skin/icon.sortup.png"/>
197             </s:if><s:else>
198               <s:url var="arrowURL" value="/skin/icon.sortdown.png"/>
199             </s:else>
200             
201             <td width="80">
202               <s:a action="setStudyOrder">
203                 <s:param name="newSortedBy" value="%{'REFERENCE'}"/>
204                 <s:text name="label.reference" />
205                 <s:if test="#session.sortCriterion.toString() eq 'REFERENCE'">
206                   <img src="<s:property value="arrowURL"/>" border="none" />
207                 </s:if>
208               </s:a>
209             </td>
210             
211                         <td>
212                   <s:a action="setStudyOrder">
213                 <s:param name="newSortedBy" value="%{'NAME'}"/>
214                             <s:text name="label.title" />
215                             <s:if test="#session.sortCriterion.toString() eq 'NAME'">
216                               <img src="<s:property value="arrowURL"/>" border="none" />
217                             </s:if>
218                           </s:a>
219                     </td>
220                     
221                     <td width="80">
222               <s:a action="setStudyOrder">
223                 <s:param name="newSortedBy" value="%{'CREATEDATE'}"/>
224                         <s:text name="label.created"/>
225                 <s:if test="#session.sortCriterion.toString() eq 'CREATEDATE'">
226                   <img src="<s:property value="arrowURL"/>" border="none" />
227                 </s:if>
228                       </s:a>
229                     </td>
230                     
231             <td width="80">
232               <s:a action="setStudyOrder">
233                 <s:param name="newSortedBy" value="%{'MODIFDATE'}"/>
234                 <s:text name="label.modified"/>
235                 <s:if test="#session.sortCriterion.toString() eq 'MODIFDATE'">
236                   <img src="<s:property value="arrowURL"/>" border="none" />
237                 </s:if>
238               </s:a>
239             </td>
240             
241             <td width="150">
242               <s:a action="setStudyOrder">
243                 <s:param name="newSortedBy" value="%{'RESPONSIBLE'}"/>
244                 <s:text name="label.manager" />
245                 <s:if test="#session.sortCriterion.toString() eq 'RESPONSIBLE'">
246                   <img src="<s:property value="arrowURL"/>" border="none" />
247                 </s:if>
248               </s:a>
249             </td>
250                 </tr>
251                 <tr height="1" bgcolor="#AAAAAA">
252                         <td colspan="6"></td>
253                 </tr>
254                 <s:iterator value="result">
255                         <tr>
256                                 <td><img src="<s:url value="/skin/icon.%{progressState}.png"/>"
257                                         width="12" height="12" border="none" title="" /></td>
258                                 <td><s:property value="reference" /></td>
259                                 <td><s:url id="open" namespace="/study"
260                                         action="open-study?selection=0.0">
261                                         <s:param name="index" value="%{index}" />
262                                 </s:url> <s:a href="%{open}" cssClass="link">
263                                         <s:property value="title" />
264                                 </s:a></td>
265                                 <td><s:property value="%{date}"/></td>
266                 <td><s:property value="%{lastModificationDate}"/></td>
267                                 <td><s:property value="getText(authorName)" /></td>
268                         </tr>
269                 </s:iterator>
270         </table>
271 </s:if> <s:else>
272         <s:text name="message.nostudy" />
273 </s:else></div>
274 </div>
275 </div>