Salome HOME
jQuery UI datepicker is applied to date input fields in the study search form.
[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 %>
4 <%@taglib prefix="s" uri="/struts-tags"%>
5
6 <!-- Initialization of the context
7      =============================================================================================================================
8   -->
9 <script language="JavaScript" type="text/javascript" src="../js/search.js"></script>
10
11 <script>
12 $(document).ready(function () {
13     initialize('<s:property value="resultState"/>');
14     // Apply jQueryUI datepicker to appropriate input fields
15     $(".dateinput").datepicker({
16         dateFormat: "<s:text name="%{format}"/>".replace("yyyy","yy")
17     });
18 });
19 </script>
20
21 <!-- Search criteria section
22      =============================================================================================================================
23   -->
24       <div id="article-box">
25         <div id="section"><s:text name="title.criteria"/></div>
26         <div id="article-body">
27           <form name="search" action="refresh-study" method="post">
28           <input type="hidden" name="contextIndex" />
29           <s:set var="match1" value="criteriaMatch"/>
30           <s:set var="match2" value="contextMatch"/>
31           <s:set var="him"    value="author"/>
32
33           <table width="100%" cellpadding="0" cellspacing="0" border="0" class="text">
34             <tr height="20">
35               <td width="40%">
36                 <b><s:text name="field.among"/></b>&nbsp;&nbsp;&nbsp;
37                 <s:if test="%{#match1 == 'all'}">
38                 <input type="radio" name="criteriaMatch" value="all"  checked onClick="changeFilter()"><s:text name="field.matchall"/>
39                 &nbsp;
40                 <input type="radio" name="criteriaMatch" value="any"          onClick="changeFilter()"><s:text name="field.matchany"/>
41                 </s:if><s:else>
42                 <input type="radio" name="criteriaMatch" value="all"          onClick="changeFilter()"><s:text name="field.matchall"/>
43                 &nbsp;
44                 <input type="radio" name="criteriaMatch" value="any"  checked onClick="changeFilter()"><s:text name="field.matchany"/>
45                 </s:else>
46               </td>
47               <td width="60%">|&nbsp;&nbsp;
48                 <b><s:text name="field.context"/></b>&nbsp;&nbsp;&nbsp;
49                 <s:if test="%{#match2 == 'all'}">
50                 <input type="radio" name="contextMatch" value="all"  checked onClick="changeFilter()"><s:text name="field.matchall"/>
51                 &nbsp;
52                 <input type="radio" name="contextMatch" value="any"          onClick="changeFilter()"><s:text name="field.matchany"/>
53                 </s:if><s:else>
54                 <input type="radio" name="contextMatch" value="all"          onClick="changeFilter()"><s:text name="field.matchall"/>
55                 &nbsp;
56                 <input type="radio" name="contextMatch" value="any"  checked onClick="changeFilter()"><s:text name="field.matchany"/>
57                 </s:else>
58               </td>
59             </tr>
60             <tr height="1" bgcolor="#AAAAAA"><td colspan="2"></td></tr>
61           </table>
62
63           <table width="100%" cellpadding="0" cellspacing="0" border="0" class="text">
64             <tr valign="top">
65               <td width="40%">
66               <table cellpadding="0" cellspacing="0" border="0" class="text">
67                 <tr>
68                   <td colspan="2"><s:text name="criterion.study"/>&nbsp;</td>
69                   <td colspan="3" align="center">
70                   <select name="state" style="width: <s:text name="size.search.select"/>" onChange="changeFilter()">
71                     <s:if test="state == 'ANY'">       <option value="ANY"        selected><s:text name="criterion.any" /></option></s:if>
72                     <s:else>                           <option value="ANY"                ><s:text name="criterion.any" /></option></s:else>
73                     <s:if test="connectedUser != null">
74                       <s:if test="state == 'inWORK'">  <option value="inWORK"     selected><s:text name="criterion.inwork" /></option></s:if>
75                       <s:else>                         <option value="inWORK"             ><s:text name="criterion.inwork" /></option></s:else>
76                       <s:if test="state == 'inDRAFT'"> <option value="inDRAFT"    selected><s:text name="criterion.indraft" /></option></s:if>
77                       <s:else>                         <option value="inDRAFT"            ><s:text name="criterion.indraft" /></option></s:else>
78                       <s:if test="state == 'inCHECK'"> <option value="inCHECK"    selected><s:text name="criterion.incheck" /></option></s:if>
79                       <s:else>                         <option value="inCHECK"            ><s:text name="criterion.incheck" /></option></s:else>
80                     </s:if>
81                     <s:if test="state == 'APPROVED'">  <option value="APPROVED"   selected><s:text name="criterion.approved" /></option></s:if>
82                     <s:else>                           <option value="APPROVED"           ><s:text name="criterion.approved" /></option></s:else>
83                     <s:if test="state == 'TEMPLATE'">  <option value="TEMPLATE"   selected><s:text name="criterion.template" /></option></s:if>
84                     <s:else>                           <option value="TEMPLATE"           ><s:text name="criterion.template" /></option></s:else>
85                   </select>
86                   </td>
87                 </tr>
88                 <tr>
89                   <td colspan="2"><s:text name="criterion.author"/>&nbsp;</td>
90                   <td colspan="3" align="center">
91                 <select name="author" style="width: <s:text name="size.search.select"/>" onChange="changeFilter()">
92                   <option value="0"><s:text name="criterion.anybody" /></option>
93                   <s:iterator value="candidates">
94                     <s:if test="%{index == #him}">
95                       <option value="<s:property value="index"/>" selected><s:property value="toString()"/></option>
96                     </s:if><s:else>
97                       <option value="<s:property value="index"/>"><s:property value="toString()"/></option>
98                     </s:else>
99                   </s:iterator>
100                 </select>
101                   </td>
102                 </tr>
103                 <tr>
104                   <s:set var="tipdate">
105                     <s:text name="help.search.date">
106                       <s:param><s:text name="%{format}"/></s:param>
107                       <s:param><s:text name="%{today}"/></s:param>
108                     </s:text>
109                   </s:set>
110                   <td><s:text name="field.credate"/>&nbsp;</td>
111                   <td><s:text name="field.after"/>&nbsp;</td>
112                   <td><input class="dateinput" onChange="changeFilter()" type="text" name=after size="7" onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" />&nbsp;</td>
113                   <td><s:text name="field.before"/>&nbsp;</td>
114                   <td><input class="dateinput" onChange="changeFilter()" type="text" name=before size="7" onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" /></td>
115                 </tr><tr>
116                   <td><s:text name="field.lasdate"/>&nbsp;</td>
117                   <td><s:text name="field.after"/>&nbsp;</td>
118                   <td><input class="dateinput" onChange="changeFilter()" type="text" name=after size="7" onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" />&nbsp;</td>
119                   <td><s:text name="field.before"/>&nbsp;</td>
120                   <td><input class="dateinput" onChange="changeFilter()" type="text" name="before" size="7" onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" /></td>
121                 </tr>
122               </table>
123               <table cellpadding="0" cellspacing="0" border="0" class="text">
124                 <tr>
125                   <td><s:text name="field.contain"/>:&nbsp;</td>
126                   <td><input type="text" name=words style="width: <s:text name="size.search.input"/>" value="<s:property value="%{words}"/>" onKeydown="changeFilter()" title="<s:text name="help.search.title"/>" /></td>
127                 </tr><tr>
128                   <td><s:text name="field.reference"/>:&nbsp;</td>
129                   <td><input type="text" name="reference" style="width: <s:text name="size.search.input"/>" value="<s:property value="%{reference}"/>" onKeydown="changeFilter()" title="<s:text name="help.search.refid"/>" /></td>
130                 </tr>
131               </table>
132               </td>
133               <td width="60%">
134                 <table cellpadding="0" cellspacing="0" border="0" class="text">
135                   <s:iterator value="simulationContexts">
136                     <tr>
137                       <td><input type="checkbox" checked onClick="removeContext('<s:property value="index"/>')">&nbsp;</td>
138                       <td>
139                         <s:if test="%{type.isApproved()}"><s:text name="type.context.%{type.name}"/>:&nbsp;</s:if>
140                         <s:else><s:property value="%{type.name}"/>:&nbsp;</s:else>
141                       </td>
142                       <td><s:property value="value"/></td>
143                     </tr>
144                   </s:iterator>
145
146                   <s:if test="%{actionType == 'setContext'}">
147                     <tr>
148                       <td>
149                         <img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="tooltip.cancel"/>" onClick="cancel()" />&nbsp;
150                       </td>
151                       <td>
152                         <s:if test="%{selectedContextType.isApproved()}"><s:text name="type.context.%{selectedContextType.name}"/>:&nbsp;</s:if>
153                         <s:else><s:property value="%{selectedContextType.name}"/>:&nbsp;</s:else>
154                       </td>
155                       <td>
156                         <select name="contextValue" onChange="submit()">
157                           <option value="-1"><s:text name="menu.select"/></option>
158                           <s:iterator value="contextValueOptions">
159                             <option value="<s:property value="index"/>">&nbsp;<s:property value="value" /></option>
160                           </s:iterator>
161                         </select>
162                       </td>
163                     </tr>
164                   </s:if>
165                 </table>
166
167                 <s:if test="%{actionType != 'setContext'}">
168                         <select name="contextType" onChange="submit()">
169                           <option value="-1"><s:text name="menu.addcontext"/></option>
170                           <s:iterator value="contextTypeOptions">
171                             <option value="<s:property value="index"/>">
172                               <s:if test="%{isApproved()}">&nbsp;<s:text name="type.context.%{name}" /></s:if>
173                               <s:else>&nbsp;<s:property value="%{name}" /></s:else>
174                             </option>
175                           </s:iterator>
176                         </select>
177                 </s:if>
178               </td>
179             </tr>
180           </table>
181
182           <table width="100%" cellpadding="0" cellspacing="0" border="0" class="text">
183             <tr>
184               <td width="40%"></td>
185               <td width="60%" align="left"><input type="submit" name="refresh" value="<s:text name="button.result"/>" disabled/></td>
186             </tr>
187           </table>
188
189           </form>
190         </div>
191       </div>
192
193 <!-- Result list
194      =============================================================================================================================
195   -->
196       <div id="resulist">
197       <div id="article-box">
198         <div id="section"><s:text name="title.result"/></div>
199         <div id="article-body" class="text">
200
201           <s:if test="result.size > 0">
202             <table width="100%" cellpadding="0" cellspacing="0" border="0" class="text">
203             <tr height="20" valign="bottom">
204               <td width="20"></td>
205               <td width="80"><s:text name="label.reference"/></td>
206               <td><s:text name="label.title"/><img src="<s:url value="/skin/icon.sortup.png"/>" border="none"/></td>
207               <td width="150"><s:text name="label.manager"/></td>
208             </tr>
209             <tr height="1" bgcolor="#AAAAAA"><td colspan="4"></td></tr>
210               <s:iterator value="result">
211                 <tr>
212                   <td><img src="<s:url value="/skin/icon.%{progressState}.png"/>" width=12 height=12 border="none" title=""/></td>
213                   <td><s:property value="reference"/></td>
214                   <td>
215                       <s:url id="open" namespace="/study" action="open-study?selection=0.0">
216                         <s:param name="index" value="%{index}"/>
217                       </s:url>
218                       <s:a href="%{open}" cssClass="link"><s:property value="title"/></s:a>
219                   </td>
220                   <td><s:property value="authorName"/></td>
221                 </tr>
222               </s:iterator>
223             </table>
224           </s:if>
225
226           <s:else>
227             <s:text name="message.nostudy" />
228           </s:else>
229         </div>
230       </div>
231       </div>