Salome HOME
80979a22c0741ad0e2f970564ece97fe1da3c855
[tools/siman.git] / Workspace / Siman / WebContent / jsp / editKnowledge.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 <%@ page import="java.util.List"%>
7 <%@ page import="java.util.Iterator"%>
8 <%@ page import="java.util.ResourceBundle"%>
9 <%@ page import="org.splat.simer.AbstractOpenObject"%>
10 <%@ page import="org.splat.simer.OpenStudy"%>
11 <%@ page import="org.splat.simer.KnowledgeElementFacade"%>
12
13 <script language="JavaScript">
14     //Knowledge value validation
15     $(document).ready(function() {
16         $('#setKnowledge').submit(function(event) {
17             field = document.getElementById('hdnknowledgeValue');
18             document.getElementById('knowledgeValueErrorMessage').style.display = 'none';
19             if(field.value != null && (field.value == "" || field.value.replace(/^\s+|\s+$/g,"").length == 0)) {
20                 event.preventDefault();
21                 document.getElementById('knowledgeValueErrorMessage').style.display = 'table-row';
22             }
23         });
24     });
25 </script>
26
27 <%!
28     private enum Action { addKnowledge, renameKnowledge, editKnowledge };
29 %><%
30 //  Scriptlet implementation is required for displaying HTML contents of knowledge values which does not work with Struts tags
31           Action                             todo       = Action.valueOf(request.getParameter("action"));
32     String                             typenumber = request.getParameter("index");
33     OpenStudy                          study      = (OpenStudy)session.getAttribute("study.open");
34     List<AbstractOpenObject.KnowledgeIterator> knowlist   = study.getDisplayedKnowledges();
35     ResourceBundle                     locale     = ResourceBundle.getBundle("som");
36 %>
37 <s:url id="undo" namespace="/study" action="step-study"></s:url>
38
39 <s:form name="edit" action="setKnowledge" method="post" validate="true" cssClass="text">
40 <input type=hidden name=knowledgeType value="<%=typenumber%>"/>
41 <%
42     for (Iterator<AbstractOpenObject.KnowledgeIterator> knowtypes = knowlist.iterator(); knowtypes.hasNext(); ) {
43         AbstractOpenObject.KnowledgeIterator type = knowtypes.next();
44 %>
45   <tr height=20>
46     <td width=38%><%=locale.getString("type.knowledge." + type.getType())%></td>
47     <td width=62%><s:text name="label.description"/></td>
48   </tr>
49   <tr height=1 bgcolor=#AAAAAA><td colspan=7></td></tr>
50 <%
51       List<KnowledgeElementFacade> knowelms = type.getKnowledgeElements();
52       for (Iterator<KnowledgeElementFacade> iterator = knowelms.iterator(); iterator.hasNext(); ) {
53         KnowledgeElementFacade kelm = iterator.next();
54         if (kelm.getIndex().equals(typenumber)) {
55 %>          <tr id="knowledgeValueErrorMessage" style="display: none">
56               <td align="center" colspan="2" class="errorMessage">
57                 <s:property value='%{getText("message.error.noenteredvalue", "-", getText("field.knowledgevalue"))}'/> 
58               </td>
59             </tr>
60 <%      }
61 %>
62   <tr height=20 valign=top>
63
64 <!--    Title
65   -->
66     <td>
67 <%      if (kelm.getPresentationState().equals("open")) {
68 %>          <img src="<s:url value="/skin/image.hold.gif"/>" border="none" width=18 height=12/>
69 <%      }
70         if (todo == Action.renameKnowledge && kelm.getIndex().equals(typenumber)) {
71 %>          
72             <s:a href="%{undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="tooltip.cancel"/>" /></s:a>
73             <s:set var="kelmTitle"><%=kelm.getTitle()%></s:set>
74             <s:textfield size="35" name="knowledgeTitle" value="%{kelmTitle}" theme="simple"/>
75             <button type="submit" value="" style="width:24px; height:16px; border:0; cursor:pointer; cursor:hand; background:transparent">
76             <img src="<s:url value="/skin/image.export.png"/>" title="<s:text name="button.save"/>"/>
77             </button>
78 <%      } else if (todo == Action.editKnowledge && kelm.getIndex().equals(typenumber)) {
79 %>          
80             <s:a href="%{undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="tooltip.cancel"/>" /></s:a>
81                 <%=kelm.getTitle()%>
82 <%      } else {
83 %>          
84             <s:set var="path">/skin/icon.<%=kelm.getProgressState()%>.png</s:set>
85             <img src="<s:url value="%{#path}"/>" width=14 height=14 border="none" title=""/>
86             <%=kelm.getTitle()%>
87 <%      }
88 %>            
89     </td>
90
91 <!--    Value
92   -->
93         <td>
94           <table cellpadding=0 cellspacing=0 border=0>
95             <tr valign=top>
96 <%
97         if (todo == Action.editKnowledge && kelm.getIndex().equals(typenumber)) {
98 %>            <td>
99                 <script language='JavaScript' type='text/javascript'>
100 <%        out.print("displayTextEditor('knowledgeValue', '" + kelm.getFullValue() + "', 450, 150);");
101 %>              </script>
102               </td>
103 <%      } else {
104 %>            <td background="<s:url value="/skin/image.vline.png"/>" width=20>
105 <%        if (kelm.getPresentationState().equals("open")) {
106 %>              <img src="<s:url value="/skin/image.hide.png"/>" border="none" width=20 height=12/>                
107 <%        }   %>  <img src="<s:url value="/skin/image.box.png"/>"  border="none" title=""/>
108               </td>
109               <td><%=kelm.getValue()%></td>
110 <%      }
111 %>          </tr>
112 <%      if (kelm.getPresentationState().equals("open")) {
113 %>          <tr height=8>
114               <td><img src="<s:url value="/skin/image.hline.png"/>" border="none" width=20 height=8 title=""/></td>
115             </tr>
116 <%      }
117 %>        </table>
118         </td>
119       </tr>
120 <%
121       }
122       if (todo == Action.addKnowledge && type.getIndex().equals(typenumber)) {
123 %>  <tr height=5><td></td></tr>
124     <tr id="knowledgeValueErrorMessage" style="display: none">
125       <td align="center" colspan="2" class="errorMessage">
126         <s:property value='%{getText("message.error.noenteredvalue", "-", getText("field.knowledgevalue"))}'/> 
127       </td>
128     </tr>
129     <tr valign=top>
130       <td>
131         <s:a href="%{undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="tooltip.cancel"/>" /></s:a>
132         <s:textfield size="35" name="knowledgeTitle" theme="simple"/>
133       </td>
134       <td>
135         <script language='JavaScript' type='text/javascript'>
136 <%        out.print("displayTextEditor('knowledgeValue', '<p>&nbsp;</p>', 450, 150);");
137 %>      </script>
138       </td>
139     </tr>
140     <tr height=4><td></td></tr>
141 <%    }
142       else {
143 %>  <tr height=30><td></td></tr>
144 <%    }
145     }
146 %>  <tr height=30 valign=middle><td></td></tr>
147 </s:form>