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