1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
2 pageEncoding="ISO-8859-1"
4 <%@ taglib prefix="s" uri="/struts-tags"
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"%>
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';
28 private enum Action { addKnowledge, renameKnowledge, editKnowledge };
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");
37 <s:url id="undo" namespace="/study" action="step-study"></s:url>
39 <s:form name="edit" action="setKnowledge" method="post" validate="true" cssClass="text">
40 <input type=hidden name=knowledgeType value="<%=typenumber%>"/>
42 for (Iterator<AbstractOpenObject.KnowledgeIterator> knowtypes = knowlist.iterator(); knowtypes.hasNext(); ) {
43 AbstractOpenObject.KnowledgeIterator type = knowtypes.next();
46 <td width=38%><%=locale.getString("type.knowledge." + type.getType())%></td>
47 <td width=62%><s:text name="label.description"/></td>
49 <tr height=1 bgcolor=#AAAAAA><td colspan=7></td></tr>
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"))}'/>
62 <tr height=20 valign=top>
67 <% if (kelm.getPresentationState().equals("open")) {
68 %> <img src="<s:url value="/skin/image.hold.gif"/>" border="none" width=18 height=12/>
70 if (todo == Action.renameKnowledge && kelm.getIndex().equals(typenumber)) {
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"/>"/>
78 <% } else if (todo == Action.editKnowledge && kelm.getIndex().equals(typenumber)) {
80 <s:a href="%{undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="tooltip.cancel"/>" /></s:a>
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=""/>
94 <table cellpadding=0 cellspacing=0 border=0>
97 if (todo == Action.editKnowledge && kelm.getIndex().equals(typenumber)) {
99 <script language='JavaScript' type='text/javascript'>
100 <% out.print("displayTextEditor('knowledgeValue', '" + kelm.getFullValue() + "', 450, 150);");
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=""/>
109 <td><%=kelm.getValue()%></td>
112 <% if (kelm.getPresentationState().equals("open")) {
114 <td><img src="<s:url value="/skin/image.hline.png"/>" border="none" width=20 height=8 title=""/></td>
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"))}'/>
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"/>
135 <script language='JavaScript' type='text/javascript'>
136 <% out.print("displayTextEditor('knowledgeValue', '<p> </p>', 450, 150);");
140 <tr height=4><td></td></tr>
143 %> <tr height=30><td></td></tr>
146 %> <tr height=30 valign=middle><td></td></tr>