]> SALOME platform Git repositories - tools/siman.git/blob - Workspace/Siman/WebContent/study/searchKnowledge.jsp
Salome HOME
Screens style are corrected
[tools/siman.git] / Workspace / Siman / WebContent / study / searchKnowledge.jsp
1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
2     pageEncoding="ISO-8859-1"
3 %>
4 <%@ page import="org.splat.dal.bo.som.KnowledgeElement"%>
5 <%@ page import="org.splat.som.ApplicationRights"%>
6 <%@ page import="org.splat.simer.ApplicationSettings"%>
7 <%@ page import="java.util.ResourceBundle"%>
8 <%@ page import="java.util.Calendar"%>
9 <%@ page import="java.text.SimpleDateFormat"%>
10 <%@
11     taglib prefix="s" uri="/struts-tags"
12 %>
13 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
14
15 <!-- Initialization of the context
16      =============================================================================================================================
17   -->
18 <% 
19     ApplicationRights rights    = (ApplicationRights)session.getAttribute("user.rights");
20     ResourceBundle    locale    = ResourceBundle.getBundle("som", ApplicationSettings.getCurrentLocale());
21     String            format    = locale.getString("date.format");
22     SimpleDateFormat  tostring  = new SimpleDateFormat(format);
23     String            result    = "uptodate";
24     boolean           connected = false;
25
26     if (rights.getUser() != null)                      connected = true;
27     if (session.getAttribute("search.result") == null) result    = "obsolete";
28 %>
29
30 <s:set var="user"><%=connected%></s:set>
31 <s:set var="format"><%=format%></s:set>
32 <s:set var="today"><%=tostring.format(java.util.Calendar.getInstance().getTime())%></s:set>
33 <html>
34
35         <link href=<s:url value="/skin/default.css"/> rel="stylesheet" type="text/css">
36   
37     <script language="JavaScript" type="text/javascript" src="../js/search.js"></script>
38
39         <body onLoad="initialize('<%=result%>')">
40
41 <!-- Search criteria section
42      =============================================================================================================================
43   -->
44       <div id=article-box>
45         <div id=section><s:text name="title.criteria"/></div>
46         <div id="article-body">
47           <form name="search" action="refresh-knowledge" method="post">
48           <input type=hidden name="contextIndex" />
49           <s:set var="match1" value="criteriaMatch"/>
50           <s:set var="match2" value="contextMatch"/>
51           <s:set var="type"   value="state"/>
52           <s:set var="him"    value="author"/>
53
54           <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
55             <tr height=20>
56               <td width=40%>
57                 <b><s:text name="field.among"/></b>&nbsp;&nbsp;&nbsp;
58                 <s:if test="%{#match1 == 'all'}">
59                 <input type=radio name="criteriaMatch" value="all"  checked onClick="changeFilter()"><s:text name="field.matchall"/>
60                 &nbsp;
61                 <input type=radio name="criteriaMatch" value="any"          onClick="changeFilter()"><s:text name="field.matchany"/>
62                 </s:if><s:else>
63                 <input type=radio name="criteriaMatch" value="all"          onClick="changeFilter()"><s:text name="field.matchall"/>
64                 &nbsp;
65                 <input type=radio name="criteriaMatch" value="any"  checked onClick="changeFilter()"><s:text name="field.matchany"/>
66                 </s:else>
67               </td>
68               <td width=60%>|&nbsp;&nbsp;
69                 <b><s:text name="field.context"/></b>&nbsp;&nbsp;&nbsp;
70                 <s:if test="%{#match2 == 'all'}">
71                 <input type=radio name="contextMatch" value="all"  checked onClick="changeFilter()"><s:text name="field.matchall"/>
72                 &nbsp;
73                 <input type=radio name="contextMatch" value="any"          onClick="changeFilter()"><s:text name="field.matchany"/>
74                 </s:if><s:else>
75                 <input type=radio name="contextMatch" value="all"          onClick="changeFilter()"><s:text name="field.matchall"/>
76                 &nbsp;
77                 <input type=radio name="contextMatch" value="any"  checked onClick="changeFilter()"><s:text name="field.matchany"/>
78                 </s:else>
79               </td>
80             </tr>
81             <tr height=1 bgcolor=#AAAAAA><td colspan=2></td></tr>
82           </table>
83
84           <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
85             <tr valign=top>
86               <td width=40%>
87               <table cellpadding=0 cellspacing=0 border=0 class=text>
88                 <tr>
89                   <td colspan=2><s:text name="criterion.knowledge"/>&nbsp;</td>
90                   <td colspan=3 align=center>
91                 <select name="state" style="width: <s:text name="size.search.select"/>" onChange="changeFilter()">
92                   <s:iterator value="knowledgeTypes">
93                     <s:if test="%{index == #type}">
94                       <option value="<s:property value="index"/>" selected><s:text name="type.knowledge.%{name}" /></option>
95                     </s:if><s:else>
96                       <option value="<s:property value="index"/>"><s:text name="type.knowledge.%{name}" /></option>
97                     </s:else>
98                   </s:iterator>
99                 </select>
100                   </td>
101                 </tr>
102                 <tr>
103                   <td colspan=5 align=left>
104                     <s:if test="visibility == 'PRIVATE'">
105                       <input type=radio name="visibility" value="PRIVATE"    checked onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
106                       <input type=radio name="visibility" value="PUBLIC"             onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
107                       <input type=radio name="visibility" value="all"                onClick="changeFilter()"><s:text name="field.either"/>
108                     </s:if>
109                     <s:elseif test="visibility == 'PUBLIC'">
110                       <input type=radio name="visibility" value="PRIVATE"            onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
111                       <input type=radio name="visibility" value="PUBLIC"     checked onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
112                       <input type=radio name="visibility" value="all"                onClick="changeFilter()"><s:text name="field.either"/>
113                     </s:elseif>
114                     <s:elseif test="visibility == 'onlypublic'">
115                       <input type=radio name="visibility" value="PRIVATE"   disabled onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
116                       <input type=radio name="visibility" value="onlypublic" checked onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
117                       <input type=radio name="visibility" value="all"       disabled onClick="changeFilter()"><s:text name="field.either"/>
118                     </s:elseif>
119                     <s:else>
120                       <input type=radio name="visibility" value="PRIVATE"            onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
121                       <input type=radio name="visibility" value="PUBLIC"             onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
122                       <input type=radio name="visibility" value="all"        checked onClick="changeFilter()"><s:text name="field.either"/>
123                     </s:else>
124                   </td>
125                 </tr>
126                 <tr>
127                   <td colspan=2><s:text name="criterion.author"/>&nbsp;</td>
128                   <td colspan=3 align=center>
129                 <select name="author" style="width: <s:text name="size.search.select"/>" onChange="changeFilter()">
130                   <option value="0"><s:text name="criterion.anybody" /></option>
131                   <s:iterator value="candidates">
132                     <s:if test="%{index == #him}">
133                       <option value="<s:property value="index"/>" selected><s:property value="toString()"/></option>
134                     </s:if><s:else>
135                       <option value="<s:property value="index"/>"><s:property value="toString()"/></option>
136                     </s:else>
137                   </s:iterator>
138                 </select>
139                   </td>
140                 </tr>
141                 <tr>
142                   <s:set var="tipdate">
143                     <s:text name="help.search.date">
144                       <s:param><s:text name="%{#format}"/></s:param>
145                       <s:param><s:text name="%{#today}"/></s:param>
146                     </s:text>
147                   </s:set>
148                   <td><s:text name="field.credate"/>&nbsp;</td>
149                   <td><s:text name="field.after"/>&nbsp;</td>
150                   <td><input type=text name=after size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" />&nbsp;</td>
151                   <td><s:text name="field.before"/>&nbsp;</td>
152                   <td><input type=text name=before size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" /></td>
153                 </tr>
154                 <tr height=26><td></td></tr>
155               </table>
156               <table cellpadding=0 cellspacing=0 border=0 class=text>
157                 <tr>
158                   <td><s:text name="field.contain"/>:&nbsp;</td>
159                   <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>
160                 </tr><tr>
161                   <td><s:text name="field.reference"/>:&nbsp;</td>
162                   <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>
163                 </tr>
164               </table>
165               </td>
166               <td width=60%>
167                 <table cellpadding=0 cellspacing=0 border=0 class=text>
168                   <s:iterator value="simulationContexts">
169                     <tr>
170                       <td><input type=checkbox checked onClick="removeContext('<s:property value="index"/>')">&nbsp;</td>
171                       <td>
172                         <s:if test="%{type.isApproved()}"><s:text name="type.context.%{type.name}"/>:&nbsp;</s:if>
173                         <s:else><s:property value="%{type.name}"/>:&nbsp;</s:else>
174                       </td>
175                       <td><s:property value="value"/></td>
176                     </tr>
177                   </s:iterator>
178
179                   <s:if test="%{actionType == 'setContext'}">
180                     <tr>
181                       <td>
182                         <img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="tooltip.cancel"/>" onClick="cancel()" />&nbsp;
183                       </td>
184                       <td>
185                         <s:if test="%{selectedContextType.isApproved()}"><s:text name="type.context.%{selectedContextType.name}"/>:&nbsp;</s:if>
186                         <s:else><s:property value="%{selectedContextType.name}"/>:&nbsp;</s:else>
187                       </td>
188                       <td>
189                         <select name="contextValue" onChange="submit()">
190                           <option value="-1"><s:text name="menu.select"/></option>
191                           <s:iterator value="contextValueOptions">
192                             <option value="<s:property value="index"/>">&nbsp;<s:property value="value" /></option>
193                           </s:iterator>
194                         </select>
195                       </td>
196                     </tr>
197                   </s:if>
198                 </table>
199
200                 <s:if test="%{actionType != 'setContext'}">
201                         <select name="contextType" onChange="submit()">
202                           <option value="-1"><s:text name="menu.addcontext"/></option>
203                           <s:set var="snum" value="null"/>
204                           <s:iterator value="contextTypeOptions">
205                             <s:if test="%{#snum != attachedStep.number}">
206                               <s:set var="snum" value="%{attachedStep.number}"/>
207                               <optgroup label="&nbsp;<s:text name="folder.step.%{#snum}"/>">
208                             </s:if>
209                               <option value="<s:property value="index"/>">
210                                 <s:if test="%{isApproved()}">&nbsp;<s:text name="type.context.%{name}" /></s:if>
211                                 <s:else>&nbsp;<s:property value="%{name}" /></s:else>
212                               </option>
213                           </s:iterator>
214                         </select>
215                 </s:if>
216               </td>
217             </tr>
218           </table>
219
220           <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
221             <tr>
222               <td width=40%></td>
223               <td width=60% align=left><input type="submit" name="refresh" value="<s:text name="button.result"/>" disabled/></td>
224             </tr>
225           </table>
226
227           </form>
228         </div>
229       </div>
230
231 <!-- Result list
232      =============================================================================================================================
233   -->
234       <div id=resulist>
235       <div id=article-box>
236         <div id=section><s:text name="title.result"/></div>
237         <div id=article-body class=text>
238
239           <s:if test="result.size > 0">
240             <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
241             <tr height=20 valign=bottom>
242               <td width=20></td>
243               <td width=80><s:text name="label.reference"/></td>
244               <td><s:text name="label.title"/><img src="<s:url value="/skin/icon.sortup.png"/>" border="none"/></td>
245               <td width=150><s:text name="label.author"/></td>
246             </tr>
247             <tr height=1 bgcolor=#AAAAAA><td colspan=4></td></tr>
248               <s:iterator value="result">
249                 <tr>
250                   <td><img src="<s:url value="/skin/icon.%{progressState}.png"/>" width=12 height=12 border="none" title=""/></td>
251                   <td><s:property value="reference"/></td>
252                   <td>
253                       <s:url id="open" namespace="/study" action="open-knowledge?selection=0">
254                         <s:param name="index" value="%{index}"/>
255                       </s:url>
256                       <s:a href="%{open}" cssClass="link"><s:property value="title"/></s:a>
257                   </td>
258                   <td><s:property value="authorName"/></td>
259                 </tr>
260               </s:iterator>
261             </table>
262           </s:if>
263
264           <s:else>
265             <s:text name="message.noknowledge" />
266           </s:else>
267         </div>
268       </div>
269       </div>
270
271   </body>
272 </html>