Project

General

Profile

1 4080 daigle
<%@ 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$'
13
 *     '$Date$'
14
 * '$Revision$'
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 8240 walker
<%@ include file="./head-section.jsp"%>
42 4080 daigle
</head>
43
<body>
44 4557 daigle
<%@ include file="./header-section.jsp"%>
45
46 8222 walker
<div class="document">
47
	<h2>Skins Configuration</h2>
48
49
	<%@ include file="./page-message-section.jsp"%>
50
51
	<form method="POST" name="configuration_form" action="<%= request.getContextPath() %>/admin"
52
	                                        onsubmit="return validate_form();">
53
54
55
	<h3>Skins Configuration</h3>
56
	<div class="heading-comment message-text">
57
		NOTE: Metacat v2.2.0 includes a new mechanism for customizing the look and feel of your
58
		Metacat deployment. MetacatUI themes can be deployed separately from the Metacat server
59
		allowing easier independent user interface customization. See the Metacat documentation
60
		for more information on using this feature.
61 4258 daigle
	</div>
62 8222 walker
	<br/>
63
	<div class="heading-comment">
64
		Choose and configure the skins that will be available in this instance of Metacat
65
	</div>
66
	<br/>
67
68
	<%
69
		HashMap<String, HashMap<String, String>> allSkinProperties =
70
			(HashMap<String, HashMap<String, String>>)request.getAttribute("skinProperties");
71
		HashMap<String, PropertiesMetaData> allMetaData =
72
			(HashMap<String, PropertiesMetaData>)request.getAttribute("metadataMap");
73
74
		for (String skinName : skinNames) {
75
	%>
76
		<div class="form-row">
77
			<input class="checkradio" type="checkbox"
78
	<%
79 4115 daigle
			if (skinName.equals(defaultStyle)) {
80 8222 walker
	%>
81
				checked="yes"
82
	<%
83 4115 daigle
			}
84 8222 walker
	%>
85
				name="<%= skinName %>.cb" id="<%= skinName %>.cb"onClick="toggleHiddenTable(this, 'hiding-section-<%= skinName %>')"/>
86
			<label class="checkradio-label" for="<%= skinName %>.cb %>"><%= skinName %></label>
87
	<%
88
			if (skinName.equals(defaultStyle)) {
89
	%>
90
				<div class="checkradio-label-inline" id="hiding-default-<%= skinName %>"> (default)</div>
91
	<%
92
			} else {
93
	%>
94
				<div class="checkradio-label-inline" style="display: none;" id="hiding-default-<%= skinName %>"> (default)</div>
95
	<%
96
			}
97
	%>
98
		</div>
99
		<div class="hiding-section"
100
	<%
101
			if (skinName.equals(defaultStyle)) {
102
	%>
103
					style="display: block;"
104
	<%
105
			}
106
	%>
107
		id="hiding-section-<%= skinName %>">
108
	<%
109
			HashMap<String, String> skinProperties = allSkinProperties.get(skinName);
110
			PropertiesMetaData metaData = (PropertiesMetaData)allMetaData.get(skinName);
111
			Map<Integer, MetaDataGroup> metaDataGroups = metaData.getGroups();
112
			Set<Integer> groupKeys = metaDataGroups.keySet();
113
			for (Integer groupkey : groupKeys) {
114
				if (groupkey == 0) {
115
					continue;
116
				}
117
				SortedMap<Integer, MetaDataProperty> propertyMap = metaData.getPropertiesInGroup(groupkey);
118
				Set<Integer> propertyKeys = propertyMap.keySet();
119
	%>
120
						<input class="checkradio" type="radio"
121
	<%
122
				if (skinName.equals(defaultStyle)) {
123
	%>
124
						checked
125
	<%
126
				}
127
	%>
128
						name="application.default-style" id="<%= skinName %>-radio" value="<%= skinName %>" onChange="toggleHiddenDefaultText('default-flag', '<%= skinName %>')"/>
129
						<label class="checkradio-label" for="<%= skinName %>-radio"> Make  &quot;<%= skinName %>&quot; default </label>
130
	<%
131
				for (Integer propertyKey : propertyKeys) {
132
	%>
133
	<%
134
					MetaDataProperty metaDataProperty = propertyMap.get(propertyKey);
135
					String fieldType = metaDataProperty.getFieldType();
136
					if (fieldType.equals("select")) {
137
	%>
138
					<div class="form-row">
139
						<div class="textinput-label"><label for="<%= metaDataProperty.getKey() %>" title="<%= metaDataProperty.getDescription() %>"><%= metaDataProperty.getLabel() %></label>
140
						<select class="textinput" name="<%= skinName %>.<%= metaDataProperty.getKey() %>">
141
142
	<%
143
						Vector<String> fieldOptionNames = metaDataProperty.getFieldOptionNames();
144
						Vector<String> fieldOptionValues = metaDataProperty.getFieldOptionValues();
145
						for (int i = 0; i < fieldOptionNames.size(); i++) {
146
	%>
147
							<option value="<%= fieldOptionValues.elementAt(i) %>"> <%= fieldOptionNames.elementAt(i) %>
148
	<%
149
						}
150
	%>
151
						</select>
152
						<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','<%= metaDataProperty.getHelpFile() %>')""></i>
153
					</div>
154
	<%
155
						if (metaDataProperty.getDescription() != null) {
156
	%>
157
							<div class="textinput-description">[<%= metaDataProperty.getDescription() %>]</div>
158
	<%
159
						}
160
					} else if (fieldType.equals("password")) {
161
	%>
162
					<div class="form-row">
163
						<div class="textinput-label"><label for="<%= metaDataProperty.getKey() %>" title="<%= metaDataProperty.getDescription() %>"><%= metaDataProperty.getLabel() %></label></div>
164
						<input class="textinput" id="<%= skinName %>.<%= metaDataProperty.getKey() %>" name="<%= skinName %>.<%= metaDataProperty.getKey() %>"
165
								type="<%= fieldType %>"/>
166
						<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','<%= metaDataProperty.getHelpFile() %>')"></i>
167
					</div>
168
	<%
169
						if (metaDataProperty.getDescription() != null) {
170
	%>
171
							<div class="textinput-description">[<%= metaDataProperty.getDescription() %>]</div>
172
	<%
173
						}
174
					} else if (fieldType.equals("checkbox")) {
175
	%>
176
					<div class="form-row">
177
						<input class="checkradio" id="<%= skinName %>.<%= metaDataProperty.getKey() %>" name="<%= skinName %>.<%= metaDataProperty.getKey() %>"
178
							   type="<%= fieldType %>"
179
	<%
180
						if (skinProperties.get(metaDataProperty.getKey()).equals("true")) {
181
	%>
182
								checked="yes"
183
	<%
184
						}
185
	%>
186
							   />
187
						<label class="checkradio-label" for="<%= metaDataProperty.getKey() %>" title="<%= metaDataProperty.getDescription() %>"><%= metaDataProperty.getLabel() %></label>
188
						<i class="icon-question-sign" alt="<%= metaDataProperty.getDescription() %>"
189
							 onClick="helpWindow('<%= request.getContextPath() %>','<%= metaDataProperty.getHelpFile() %>')"></i>
190
					</div>
191
	<%
192
						if (metaDataProperty.getDescription() != null) {
193
	%>
194
							<div class="checkradio-description">[<%= metaDataProperty.getDescription() %>]</div>
195
	<%
196
						}
197
					} else {
198
	%>
199
					<div class="form-row">
200
						<label class="textinput-label" for="<%= metaDataProperty.getKey() %>" title="<%= metaDataProperty.getDescription() %>"><%= metaDataProperty.getLabel() %></label>
201
						<input class="textinput" id="<%= skinName %>.<%= metaDataProperty.getKey() %>" name="<%= skinName %>.<%= metaDataProperty.getKey() %>"
202
								value="<%= skinProperties.get(metaDataProperty.getKey()) %>"
203
								type="<%= fieldType %>"/>
204
						<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','<%= metaDataProperty.getHelpFile() %>')"></i>
205
					</div>
206
	<%
207
						if (metaDataProperty.getDescription() != null) {
208
	%>
209
							<div class="textinput-description">[<%= metaDataProperty.getDescription() %>]</div>
210
	<%
211
						}
212
					}
213
				}
214 4157 daigle
			}
215 8222 walker
216
	%>
217
		</div>
218
	<%
219 4080 daigle
		}
220 8222 walker
	%>
221
	<div class="buttons-wrapper">
222
		<input type="hidden" name="configureType" value="skins"/>
223
		<input type="hidden" name="processForm" value="true"/>
224
		<input class="button" type="submit" value="Save"/>
225
		<input class="button" type="button" value="Cancel" onClick="forward('./admin')">
226 4258 daigle
	</div>
227 8222 walker
	</form>
228
</div>
229 4080 daigle
230 4557 daigle
<%@ include file="./footer-section.jsp"%>
231
232 4080 daigle
</body>
233
</html>