Project

General

Profile

1
<%@ page language="java" %>
2
<%@ page import="java.util.Set,java.util.HashMap,java.util.Map,java.util.SortedMap,java.util.Vector" %>
3
<%@ page import="edu.ucsb.nceas.utilities.PropertiesMetaData" %>
4
<%@ page import="edu.ucsb.nceas.utilities.MetaDataGroup,edu.ucsb.nceas.utilities.MetaDataProperty" %>
5
<% 
6
/**
7
 *  '$RCSfile$'
8
 *    Copyright: 2008 Regents of the University of California and the
9
 *               National Center for Ecological Analysis and Synthesis
10
 *  For Details: http://www.nceas.ucsb.edu/
11
 *
12
 *   '$Author: walker $'
13
 *     '$Date: 2013-09-16 13:41:00 -0700 (Mon, 16 Sep 2013) $'
14
 * '$Revision: 8203 $'
15
 * 
16
 * This program is free software; you can redistribute it and/or modify
17
 * it under the terms of the GNU General Public License as published by
18
 * the Free Software Foundation; either version 2 of the License, or
19
 * (at your option) any later version.
20
 *
21
 * This program is distributed in the hope that it will be useful,
22
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24
 * GNU General Public License for more details.
25
 *
26
 * You should have received a copy of the GNU General Public License
27
 * along with this program; if not, write to the Free Software
28
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
29
 */
30
%>
31

    
32
<%
33
 	Vector<String> skinNames = (Vector<String>)request.getAttribute("skinNameList"); 
34
	String defaultStyle = (String)request.getAttribute("defaultStyle");
35
%>
36

    
37
<html>
38
<head>
39

    
40
<title>Skins Configuration</title>
41
<link rel="stylesheet" type="text/css" 
42
        href="<%= request.getContextPath() %>/admin/admin.css"></link>
43
<script language="JavaScript" type="text/JavaScript" src="<%= request.getContextPath() %>/admin/admin.js"></script>
44

    
45
</head>
46
<body>
47
<%@ include file="./header-section.jsp"%>
48

    
49
<img src="<%= request.getContextPath() %>/metacat-logo-darkgray.png" width="100px" align="right"/> 
50
<h2>Skins Configuration</h2>
51

    
52
<br class="skins-header">
53

    
54
<%@ include file="./page-message-section.jsp"%>
55

    
56
<form method="POST" name="configuration_form" action="<%= request.getContextPath() %>/admin" 
57
                                        onsubmit="return validate_form();">
58

    
59

    
60
<h3>Skins Configuration</h3>
61
<div class="heading-comment message-text">
62
	NOTE: Metacat v2.2.0 includes a new mechanism for customizing the look and feel of your  
63
	Metacat deployment. MetacatUI themes can be deployed separately from the Metacat server
64
	allowing easier independent user interface customization. See the Metacat documentation 
65
	for more information on using this feature.	
66
</div>
67
<br/>
68
<div class="heading-comment">
69
	Choose and configure the skins that will be available in this instance of Metacat
70
</div>
71
<br/>
72

    
73
<%
74
	HashMap<String, HashMap<String, String>> allSkinProperties = 
75
		(HashMap<String, HashMap<String, String>>)request.getAttribute("skinProperties");
76
	HashMap<String, PropertiesMetaData> allMetaData = 
77
		(HashMap<String, PropertiesMetaData>)request.getAttribute("metadataMap");
78

    
79
	for (String skinName : skinNames) {
80
%>
81
	<div>
82
		<input class="checkradio" type="checkbox" 
83
<%
84
		if (skinName.equals(defaultStyle)) {
85
%>
86
			checked="yes"
87
<%
88
		} 
89
%>
90
			name="<%= skinName %>.cb" id="<%= skinName %>.cb"onClick="toggleHiddenTable(this, 'hiding-section-<%= skinName %>')"/>
91
		<label class="checkradio-label" for="<%= skinName %>.cb %>"><%= skinName %></label>
92
<%
93
		if (skinName.equals(defaultStyle)) {
94
%>		
95
			<div class="checkradio-label-inline" id="hiding-default-<%= skinName %>"> (default)</div>	
96
<%
97
		} else {
98
%>		
99
			<div class="checkradio-label-inline" style="display: none;" id="hiding-default-<%= skinName %>"> (default)</div>	
100
<%
101
		} 
102
%>
103
	</div>
104
	<div class="hiding-section" 
105
<%
106
		if (skinName.equals(defaultStyle)) {
107
%>
108
				style="display: block;"
109
<%
110
		} 
111
%>	
112
	id="hiding-section-<%= skinName %>">
113
<%
114
		HashMap<String, String> skinProperties = allSkinProperties.get(skinName);
115
		PropertiesMetaData metaData = (PropertiesMetaData)allMetaData.get(skinName);
116
		Map<Integer, MetaDataGroup> metaDataGroups = metaData.getGroups();
117
		Set<Integer> groupKeys = metaDataGroups.keySet();
118
		for (Integer groupkey : groupKeys) {
119
			if (groupkey == 0) {
120
				continue;
121
			}
122
			SortedMap<Integer, MetaDataProperty> propertyMap = metaData.getPropertiesInGroup(groupkey);
123
			Set<Integer> propertyKeys = propertyMap.keySet();
124
%>
125
					<input class="checkradio" type="radio" 
126
<%
127
			if (skinName.equals(defaultStyle)) {
128
%>
129
					checked
130
<%
131
			} 
132
%>
133
					name="application.default-style" id="<%= skinName %>-radio" value="<%= skinName %>" onChange="toggleHiddenDefaultText('default-flag', '<%= skinName %>')"/>
134
					<label class="checkradio-label" for="<%= skinName %>-radio"> Make  &quot;<%= skinName %>&quot; default </label>
135
<%
136
			for (Integer propertyKey : propertyKeys) {
137
%>		
138
<%		
139
				MetaDataProperty metaDataProperty = propertyMap.get(propertyKey);							
140
				String fieldType = metaDataProperty.getFieldType(); 
141
				if (fieldType.equals("select")) {
142
%>
143
				<div class="form-row"> 
144
					<div class="textinput-label"><label for="<%= metaDataProperty.getKey() %>" title="<%= metaDataProperty.getDescription() %>"><%= metaDataProperty.getLabel() %></label>  		
145
					<select class="textinput" name="<%= skinName %>.<%= metaDataProperty.getKey() %>">
146

    
147
<%
148
					Vector<String> fieldOptionNames = metaDataProperty.getFieldOptionNames();
149
					Vector<String> fieldOptionValues = metaDataProperty.getFieldOptionValues();
150
					for (int i = 0; i < fieldOptionNames.size(); i++) {
151
%>
152
						<option value="<%= fieldOptionValues.elementAt(i) %>"> <%= fieldOptionNames.elementAt(i) %>
153
<%
154
					}
155
%>
156
					</select>
157
					<img class="question-mark" src="style/images/help.png" 
158
						 onClick="helpWindow('<%= request.getContextPath() %>','<%= metaDataProperty.getHelpFile() %>')""/>
159
				</div>
160
<%
161
					if (metaDataProperty.getDescription() != null) {
162
%>
163
						<div class="textinput-description">[<%= metaDataProperty.getDescription() %>]</div>
164
<%		
165
					}   	
166
				} else if (fieldType.equals("password")) {
167
%>	
168
				<div class="form-row">
169
					<div class="textinput-label"><label for="<%= metaDataProperty.getKey() %>" title="<%= metaDataProperty.getDescription() %>"><%= metaDataProperty.getLabel() %></label></div>
170
					<input class="textinput" id="<%= skinName %>.<%= metaDataProperty.getKey() %>" name="<%= skinName %>.<%= metaDataProperty.getKey() %>" 	             		    	    	           		    	             			
171
							type="<%= fieldType %>"/> 
172
					<img class="question-mark" src="style/images/help.png" 
173
						 onClick="helpWindow('<%= request.getContextPath() %>','<%= metaDataProperty.getHelpFile() %>')"/>
174
				</div>
175
<%
176
					if (metaDataProperty.getDescription() != null) {
177
%>
178
						<div class="textinput-description">[<%= metaDataProperty.getDescription() %>]</div>
179
<%		
180
					}   		
181
				} else if (fieldType.equals("checkbox")) {
182
%>
183
				<div class="form-row">
184
					<input class="checkradio" id="<%= skinName %>.<%= metaDataProperty.getKey() %>" name="<%= skinName %>.<%= metaDataProperty.getKey() %>" 	             		    	    	           		    	             			
185
						   type="<%= fieldType %>"
186
<%
187
					if (skinProperties.get(metaDataProperty.getKey()).equals("true")) {
188
%>
189
							checked="yes"
190
<%		
191
					}   
192
%>
193
						   /> 
194
					<label class="checkradio-label" for="<%= metaDataProperty.getKey() %>" title="<%= metaDataProperty.getDescription() %>"><%= metaDataProperty.getLabel() %></label>
195
					<img class="question-mark" src="style/images/help.png" 
196
						 alt="<%= metaDataProperty.getDescription() %>" 
197
						 onClick="helpWindow('<%= request.getContextPath() %>','<%= metaDataProperty.getHelpFile() %>')"/>
198
				</div>
199
<%
200
					if (metaDataProperty.getDescription() != null) {
201
%>
202
						<div class="checkradio-description">[<%= metaDataProperty.getDescription() %>]</div>
203
<%		
204
					}
205
				} else {
206
%>
207
				<div class="form-row">
208
					<label class="textinput-label" for="<%= metaDataProperty.getKey() %>" title="<%= metaDataProperty.getDescription() %>"><%= metaDataProperty.getLabel() %></label>
209
					<input class="textinput" id="<%= skinName %>.<%= metaDataProperty.getKey() %>" name="<%= skinName %>.<%= metaDataProperty.getKey() %>" 
210
							value="<%= skinProperties.get(metaDataProperty.getKey()) %>"	             		    	    	           		    	             			
211
							type="<%= fieldType %>"/>	
212
					<img class="question-mark" src="style/images/help.png" 
213
						 onClick="helpWindow('<%= request.getContextPath() %>','<%= metaDataProperty.getHelpFile() %>')"/>
214
				</div>  
215
<%
216
					if (metaDataProperty.getDescription() != null) {
217
%>
218
						<div class="textinput-description">[<%= metaDataProperty.getDescription() %>]</div>
219
<%		
220
					}         		      			
221
				}									
222
			}
223
		}
224

    
225
%>
226
	</div>
227
<%
228
	}
229
%>
230
	<input type="hidden" name="configureType" value="skins"/>
231
	<input type="hidden" name="processForm" value="true"/>
232
	<br>
233
	<input class="left-button" type="submit" value="Save"/>
234
	<input class="button" type="button" value="Cancel" onClick="forward('./admin')"> 
235

    
236
</form>
237

    
238
<%@ include file="./footer-section.jsp"%>
239

    
240
</body>
241
</html>
(18-18/18)